Partager via


Rename-Item

Renomme un élément dans un espace de noms de fournisseur PowerShell.

Syntaxe

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

L’applet Rename-Item de commande modifie le nom d’un élément spécifié. Cette applet de commande n’affecte pas le contenu de l’élément qui est renommé.

Vous ne pouvez pas utiliser Rename-Item pour déplacer un élément, par exemple en spécifiant un chemin d’accès avec le nouveau nom. Pour déplacer et renommer un élément, utilisez l’applet de Move-Item commande.

Exemples

Exemple 1 : Renommer un fichier

Cette commande renomme le fichier daily_file.txt en monday_file.txt.

Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"

Exemple 2 : Renommer et déplacer un élément

Vous ne pouvez pas utiliser Rename-Item pour renommer et déplacer un élément. Plus précisément, vous ne pouvez pas fournir de chemin d’accès pour la valeur du paramètre NewName , sauf si le chemin d’accès est identique au chemin spécifié dans le paramètre Path . Sinon, seul un nouveau nom est autorisé.

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"

Cet exemple tente de renommer le project.txt fichier dans le répertoire old-project.txt actif dans le D:\Archive répertoire. Il en résulte l’erreur indiquée dans la sortie.

Utilisez plutôt l’applet Move-Item de commande.

Exemple 3 : Renommer une clé de Registre

Cet exemple renomme une clé de Registre de Publicité en Marketing. Une fois la commande exécutée, la clé est renommée, mais les entrées de Registre qui figurent dans la clé demeurent inchangées.

Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"

Exemple 4 : Renommer plusieurs fichiers

Cet exemple renomme tous les *.txt fichiers du répertoire actif en *.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

L’applet Get-ChildItem de commande obtient tous les fichiers du dossier actif qui ont une .txt extension de fichier, puis les canalise vers Rename-Item. La valeur de NewName est un bloc de script qui s’exécute avant l’envoi de la valeur au paramètre NewName.

Dans le bloc de script, la $_ variable automatique représente chaque objet de fichier tel qu’il s’agit de la commande via le pipeline. Le bloc de script utilise l’opérateur -replace pour remplacer l’extension de fichier de chaque fichier .logpar . Notez que la correspondance à l’aide de l’opérateur n’est pas sensible à la -replace casse.

Paramètres

-Confirm

Vous demande une confirmation avant d’exécuter la commande cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Credential

Remarque

Ce paramètre n’est pas pris en charge par les fournisseurs installés avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.

Type:PSCredential
Position:Named
Valeur par défaut:Current user
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Force

Force l’applet de commande à renommer les éléments qui ne peuvent pas être modifiés autrement, tels que les fichiers masqués ou en lecture seule ou les alias ou variables en lecture seule. L’applet de commande ne peut pas modifier les alias de constantes ou les variables. L'implémentation est différente d'un fournisseur à l'autre. Pour plus d’informations, consultez about_Providers.

Même à l’aide du paramètre Force , l’applet de commande ne peut pas remplacer les restrictions de sécurité.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-LiteralPath

Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement comme elle est typée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Pour plus d’informations, consultez about_Quoting_Rules.

Type:String
Alias:PSPath
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-NewName

Spécifie le nouveau nom de l’élément. Entrez uniquement un nom, et non un chemin d’accès et un nom. Si vous entrez un chemin qui diffère du chemin spécifié dans le paramètre Path , Rename-Item génère une erreur. Pour renommer et déplacer un élément, utilisez Move-Item.

Vous ne pouvez pas utiliser de caractères génériques dans la valeur du paramètre NewName . Pour spécifier un nom pour plusieurs fichiers, utilisez l’opérateur Replace dans une expression régulière. Pour plus d’informations sur l’opérateur Replace, consultez about_Comparison_Operators.

Type:String
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-PassThru

Retourne un objet qui représente l’élément au pipeline. Par défaut, cette applet de commande ne génère aucun résultat.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie le chemin d’accès de l’élément à renommer.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-UseTransaction

Inclut la commande dans la transaction active. Ce paramètre est uniquement valide au cours d’une transaction. Pour plus d’informations, consultez about_Transactions.

Type:SwitchParameter
Alias:usetx
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

String

Vous pouvez diriger une chaîne qui contient un chemin d’accès à cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

PSObject

Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne un objet représentant l’élément renommé.

Notes

Windows PowerShell inclut les alias suivants pour Rename-Item:

  • ren
  • rni

Rename-Item est conçu pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PsProvider. Pour plus d’informations, consultez about_Providers.