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]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande Rename-Item
modifie le nom d’un élément spécifié. Cette applet de commande n’affecte pas le contenu de l’élément 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 commande Move-Item
.
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
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 fichier project.txt
dans le répertoire actif en old-project.txt
dans le répertoire D:\Archive
. Le résultat est l’erreur affichée dans la sortie.
Utilisez plutôt l’applet de commande Move-Item
.
Exemple 3 : Renommer une clé de Registre
Cet exemple renomme une clé de Registre de Advertising en Marketing. Une fois la commande terminée, la clé est renommée, mais les entrées de Registre de la clé sont inchangées.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Exemple 4 : Renommer plusieurs fichiers
Cet exemple renomme tous les fichiers *.txt
dans le 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 de commande Get-ChildItem
obtient tous les fichiers du dossier actif qui ont une extension de fichier .txt
, 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 par .log
. Notez que la correspondance à l’aide de l’opérateur -replace
n’est pas sensible à la casse.
Paramètres
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
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
Note
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 varie du fournisseur au fournisseur. Pour plus d’informations, consultez about_Providers.
Même en utilisant le paramètre Forcer, 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é comme des caractères génériques. Si le chemin inclut des caractères d’échappement, placez-le entre 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, LP |
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 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 aucune sortie.
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 |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. 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
Vous pouvez diriger une chaîne qui contient un chemin d’accès à cette applet de commande.
Sorties
None or an object that represents the renamed item.
Cette applet de commande génère un objet qui représente l’élément renommé, si vous spécifiez le paramètre PassThru. Sinon, cette applet de commande ne génère aucune sortie.
Notes
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.