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]
    [-UseTransaction]
    [<CommonParameters>]

ByLiteralPath

Rename-Item
    [-NewName] <String>
    -LiteralPath <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 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

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 ficheiros, use o operador Substituir numa 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

-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.

Propriedades dos parâmetros

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

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

-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 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.