Partilhar via


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] 
      [<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 está sendo renomeado.

Você não pode 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 Move-Item cmdlet.

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

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, apenas um novo nome é permitido.

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"

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.

Em vez disso, use o Move-Item cmdlet.

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 *.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, canaliza-os 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 à medida que chega ao comando através 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 operador não diferencia maiúsculas -replace de minúsculas.

Parâmetros

-Confirm

Solicita a sua 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

Nota

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, LP
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 Replace 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

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. 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

String

Você pode canalizar uma cadeia de caracteres que contenha um caminho para esse cmdlet.

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

PSObject

Quando você usa o parâmetro PassThru , esse cmdlet retorna um objeto que representa o item renomeado.

Notas

O PowerShell inclui os seguintes aliases para Rename-Item:

  • Todas as plataformas:
    • ren
    • rni

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.