Rename-Item
Renomeia um item em um namespace do provedor do PowerShell.
Syntax
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Rename-Item
cmdlet altera o nome de um item especificado. Este cmdlet não afeta o conteúdo do item que é renomeado.
Você não pode usar Rename-Item
para mover um item, como especificando um caminho junto com o novo nome. Para mover e renomear um item, use o Move-Item
cmdlet.
Exemplos
Exemplo 1: renomear um arquivo
Esse 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
Você não pode 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, é permitido somente um novo nome.
Este exemplo tenta renomear o project.txt
arquivo no diretório atual para old-project.txt
no D:\Archive
diretório. 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 Publicidade para Marketing. Quando o comando é concluído, a chave é renomeada, mas as entradas de registro na chave permanecem inalteradas.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Exemplo 4: renomear vários arquivos
Este exemplo renomeia todos os *.txt
arquivos 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 Get-ChildItem
cmdlet obtém todos os arquivos na pasta atual que têm uma .txt
extensão de arquivo e, em seguida, os redireciona para Rename-Item
. O valor de NewName é um bloco de script executado antes do valor ser enviado para o parâmetro NewName .
No bloco de script, a $_
variável automática representa cada objeto de arquivo conforme se trata do comando por meio do pipeline. O bloco de script usa o -replace
operador para substituir a extensão de arquivo de cada arquivo por .log
. Observe que a correspondência usando o -replace
operador não diferencia maiúsculas de minúsculas.
Parâmetros
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Observação
Não há suporte para esse parâmetro em nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar este cmdlet, use Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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 provedor para provedor. Para obter mais informações, consulte about_Providers.
Mesmo usando o parâmetro Force , o cmdlet não pode substituir as restrições de segurança.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Especifica um caminho para um ou mais locais. O valor de LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As 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.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NewName
Especifica o novo nome do item. Digite 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
.
Você não pode usar caracteres curinga no valor do parâmetro NewName . Para especificar um nome para vários arquivos, use o operador Replace em uma expressão regular. Para obter mais informações sobre o operador Replace, consulte about_Comparison_Operators.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Retorna um objeto que representa o item para o pipeline. Por padrão, este cmdlet não gera saída.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Especifica o caminho do item a ser renomeado.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Você pode canalizar uma cadeia de caracteres que contém um caminho para este cmdlet.
Saídas
None or an object that represents the renamed item.
Esse cmdlet gera um objeto que representa o item renomeado, se você especificar o parâmetro PassThru . Caso contrário, este cmdlet não gera nenhuma saída.
Observações
Rename-Item
foi 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.