Rename-Item
Renomeia um item em um namespace de provedor do PowerShell.
Sintaxe
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
O cmdlet Rename-Item
altera o nome de um item especificado. Este cmdlet não afeta o conteúdo do item que está sendo renomeado.
Não é possível usar Rename-Item
para mover um item, por exemplo, especificando um caminho junto com o novo nome. Para mover e renomear um item, use o cmdlet Move-Item
.
Exemplos
Exemplo 1: Renomear um arquivo
Este comando renomeia o arquivo daily_file.txt
para monday_file.txt
.
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Exemplo 2: Renomear e mover um item
Não é possível usar Rename-Item
para renomear e mover um item. Especificamente, você não pode fornecer um caminho para o valor do parâmetro NewName, a menos que o caminho seja idêntico ao caminho especificado no parâmetro Path. Caso contrário, apenas um novo nome é permitido.
Este exemplo tenta renomear o arquivo project.txt
no diretório atual para old-project.txt
no diretório D:\Archive
. O resultado é o erro mostrado na saída.
Rename-Item -Path "project.txt" -NewName "d:\archive\old-project.txt"
Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<< -path project.txt -NewName d:\archive\old-project.txt
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PS> Move-Item -Path "project.txt" -De
stination "d:\archive\old-project.txt"
Exemplo 3: Renomear uma chave do Registro
Este exemplo renomeia uma chave do Registro de Advertising para Marketing. Quando o comando estiver concluído, a chave será renomeada, mas as entradas do Registro na chave permanecerão inalteradas.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Exemplo 4: Renomear vários arquivos
Este exemplo renomeia todos os arquivos *.txt
no diretório atual para *.log
.
Get-ChildItem *.txt
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.TXT
-a---- 10/3/2019 7:46 AM 2918 Monday.Txt
-a---- 10/3/2019 7:47 AM 2918 Wednesday.txt
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.log
-a---- 10/3/2019 7:46 AM 2918 Monday.log
-a---- 10/3/2019 7:47 AM 2918 Wednesday.log
O cmdlet Get-ChildItem
obtém todos os arquivos na pasta atual que têm uma extensão de arquivo .txt
e, em seguida, canaliza-os para Rename-Item
. O valor de
No bloco de script, a variável automática $_
representa cada objeto de arquivo à medida que chega ao comando através do pipeline. O bloco de script usa o operador -replace
para substituir a extensão de arquivo de cada arquivo por .log
. Observe que a correspondência usando o operador -replace
não diferencia maiúsculas de minúsculas.
Parâmetros
-Confirm
Solicita confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Credential
Observação
Esse parâmetro não é suportado por nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.
Tipo: | PSCredential |
Position: | Named |
Default value: | Current user |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Force
Força o cmdlet a renomear itens que não podem ser alterados de outra forma, como arquivos ocultos ou somente leitura ou aliases ou variáveis somente leitura. O cmdlet não pode alterar aliases ou variáveis constantes. A implementação varia de fornecedor para fornecedor. Para obter mais informações, consulte about_Providers.
Mesmo usando o parâmetro Force, o cmdlet não pode substituir restrições de segurança.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-LiteralPath
Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.
Para obter mais informações, consulte about_Quoting_Rules.
Tipo: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-NewName
Especifica o novo nome do item. Insira apenas um nome, não um caminho e nome. Se você inserir um caminho diferente do caminho especificado no parâmetro Path, Rename-Item
gerará um erro.
Para renomear e mover um item, use Move-Item
.
Não é possível usar caracteres curinga no valor do parâmetro NewName. Para especificar um nome para vários arquivos, use o operador Substituir em uma expressão regular. Para obter mais informações sobre o operador Substituir, consulte about_Comparison_Operators.
Tipo: | String |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-PassThru
Retorna um objeto que representa o item para o pipeline. Por padrão, esse cmdlet não gera nenhuma saída.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Path
Especifica o caminho do item a ser renomeado.
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-UseTransaction
Inclui o comando na transação ativa. Este parâmetro é válido somente quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.
Tipo: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar uma cadeia de caracteres que contenha um caminho para esse cmdlet.
Saídas
None or an object that represents the renamed item.
Este cmdlet gera um objeto que representa o item renomeado, se você especificar o parâmetro PassThru . Caso contrário, esse cmdlet não gerará nenhuma saída.
Notas
Rename-Item
é projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite Get-PsProvider
. Para obter mais informações, consulte about_Providers.