Partilhar via


Rename-Item

Renomeia um item em um namespace de provedor do PowerShell.

Sintaxe

ByPath (Predefinição)

Rename-Item
    [-Path] <String>
    [-NewName] <String>
    [-Force]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByLiteralPath

Rename-Item
    [-NewName] <String>
    -LiteralPath <String>
    [-Force]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<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.

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 arquivo project.txt no diretório atual para old-project.txt no diretório D:\Archive. O resultado é o erro mostrado na saída.

Em vez disso, use o cmdlet Move-Item.

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 NewName é um bloco de script que é executado antes de o valor ser submetido ao 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 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.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:Current user
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Force

Força o cmdlet a renomear itens que não podem ser alterados de outra forma, como ficheiros ocultos ou de leitura exclusiva, ou alias ou variáveis de leitura exclusiva. 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 consegue ultrapassar restrições de segurança.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LiteralPath

Especifica um caminho para um ou mais locais. O valor de LiteralPath é utilizado exatamente como foi escrito. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.

Para obter mais informações, consulte about_Quoting_Rules.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:PSPath, LP

Conjuntos de parâmetros

ByLiteralPath
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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 -replace, consulte about_Comparison_Operators.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-PassThru

Retorna um objeto que representa o item no pipeline. Por padrão, esse cmdlet não gera nenhuma saída.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Path

Especifica o caminho do item a ser renomeado.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ByPath
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-WhatIf

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

String

Você pode encaminhar uma cadeia de caracteres que contenha um caminho para este 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.