Compartilhar via


Rename-Item

Renomeia um item em um namespace do 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. Esse cmdlet não afeta o conteúdo do item que está sendo 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 cmdlet Move-Item.

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 caminho . Caso contrário, apenas um novo nome será 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 do Advertising para Marketing. Quando o comando é concluído, a chave é renomeada, mas as entradas do Registro na chave não são alteradas.

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 os redireciona para Rename-Item. O valor de newname é um bloco de script executado antes que o valor seja enviado para o parâmetro NewName.

No bloco de script, o $_ variável automática representa cada objeto de arquivo conforme se trata do comando por meio 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 a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Nota

Esse parâmetro não tem suporte para nenhum provedor instalado com o PowerShell. Para representar outro usuário ou elevar suas credenciais ao executar esse cmdlet, use Invoke-Command.

Tipo:PSCredential
Cargo:Named
Valor padrão:Current user
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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 restrições de segurança.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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. 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.

Tipo:String
Aliases:PSPath
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-NewName

Especifica o novo nome do item. Insira apenas um nome, não um caminho e um 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 Substituir em uma expressão regular. Para obter mais informações sobre o operador Replace, consulte about_Comparison_Operators.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Path

Especifica o caminho do item a ser renomeado.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-UseTransaction

Inclui o comando na transação ativa. Esse parâmetro só é válido quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.

Tipo:SwitchParameter
Aliases:usetx
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

String

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, esse cmdlet não gerará nenhuma saída.

Observações

Rename-Item foi projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis na sessão, digite Get-PsProvider. Para obter mais informações, consulte about_Providers.