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

Syntaxe

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

Description

L'applet de commande Rename-Item change 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 (en spécifiant un chemin d'accès avec le nouveau nom, par exemple). Pour déplacer et renommer un élément, utilisez l'applet de commande Move-Item.

Paramètres

-Credential <PSCredential>

Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter cette action. La valeur par défaut est l'utilisateur actuel.

Tapez un nom d'utilisateur, tel que « User01 » ou « Domain01\User01 », ou entrez un objet PSCredential, tel que celui généré par l'applet de commande Get-Credential. Si vous tapez un nom d'utilisateur, vous êtes invité à entrer un mot de passe.

Ce paramètre n'est pas pris en charge par les fournisseurs installés avec Windows PowerShell.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Force

Permet à l'applet de commande de renommer des éléments qui ne peuvent pas être modifiés autrement, tels que des fichiers cachés ou en lecture seule, ou des alias ou des variables en lecture seule. L'applet de commande ne peut pas modifier des alias ou variables constants. L'implémentation est différente d'un fournisseur à l'autre. Pour plus d'informations, consultez about_Providers. Même en utilisant le paramètre Force, l'applet de commande ne peut pas remplacer les restrictions de sécurité.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-NewName <string>

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 d'accès qui est différent du chemin d'accès spécifié dans le paramètre Path, Rename-Item génère une erreur. Pour renommer et déplacer un élément, utilisez l'applet de commande Move-Item.

Vous ne pouvez pas utiliser de caractères génériques dans la valeur de NewName. Pour spécifier le nom de plusieurs fichiers, utilisez l'opérateur Replace dans une expression régulière. Pour plus d'informations sur l'opérateur Replace, tapez « get-help about_comparison_operators ». Pour bénéficier d'une démonstration, reportez-vous aux exemples.

Obligatoire ?

true

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-PassThru

Passe un objet représentant l'élément au pipeline. Par défaut, cette applet de commande ne génère aucune sortie.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Path <string>

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

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue, ByPropertyName)

Accepter les caractères génériques ?

false

-Confirm

Vous invite à confirmer l'exécution de la commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-WhatIf

Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-UseTransaction

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

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.String

Vous pouvez diriger une chaîne qui contient un chemin d'accès vers Rename-Item.

Sorties

Aucun ou un objet représentant l'élément renommé.

Lorsque vous utilisez le paramètre PassThru, Rename-Item génère un objet qui représente l'élément renommé. Sinon, cette applet de commande ne génère aucune sortie.

Remarques

L'applet de commande Rename-Item est conçue pour utiliser 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.

Exemple 1

C:\PS>rename-item -path c:\logfiles\daily_file.txt -newname monday_file.txt

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






Exemple 2

C:\PS>rename-item -path project.txt -newname d:\archive\old-project.txt

Rename-Item : Cannot 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], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RenameItemCommand


C:\PS> move-item -path project.txt -destination d:\archive\old-project.txt
# Command succeeds

Description
-----------
Cet exemple montre que vous ne pouvez pas utiliser l'applet de commande Rename-Item pour renommer et remplacer un élément. Vous ne pouvez, en particulier, pas fournir de chemin d'accès pour la valeur du paramètre NewName, sauf si ce chemin d'accès est identique au chemin d'accès spécifié dans le paramètre Path. Sinon, seul un nouveau nom est autorisé.

La première commande utilise l'applet de commande Rename-Item pour renommer le fichier project.txt qui se trouve dans le répertoire actif en old-project.txt dans le répertoire D:\Archive. Il en résulte l'erreur indiquée dans la sortie.

La deuxième commande montre la méthode à utiliser pour déplacer et renommer un fichier à l'aide de l'applet de commande Move-Item. L'applet de commande Move-Item vous permet de spécifier un nouveau chemin d'accès et un nouveau nom dans la valeur de son paramètre Destination.






Exemple 3

C:\PS>rename-item HKLM:\Software\MyCompany\Advertising -NewName Marketing

Description
-----------
Cette commande utilise l'applet de commande Rename-Item pour renommer une clé de Registre Advertising 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.






Exemple 4

C:\PS>get-childItem *.txt | rename-item -newname { $_.name -replace '\.txt','.log' }

Description
-----------
Cet exemple montre comment utiliser l'opérateur Replace pour renommer plusieurs fichiers, même si le paramètre NewName n'accepte pas les caractères génériques.

Cette commande renomme tous les fichiers .txt du répertoire actif en fichiers .log. 

La commande utilise une applet de commande Get-ChildItem pour obtenir tous les fichiers du répertoire actif qui ont une extension de nom de fichier .txt. Elle utilise ensuite l'opérateur de pipeline (|) pour envoyer les fichiers résultants à l'applet de commande Rename-Item. 

Dans la commande Rename-Item, la valeur du paramètre NewName est un bloc de script qui est exécuté avant que la valeur ne soit soumise au paramètre NewName.

Dans le bloc de script, la variable $_ automatic représente chaque objet fichier tel qu'il se présente à la commande via le pipeline. La commande utilise le format point (.) pour obtenir la propriété Name de chaque objet fichier. L'opérateur Replace remplace l'extension de nom de fichier « .txt » de chaque fichier par « .log ».

Comme l'opérateur Replace fonctionne avec des expressions régulières, le point qui précède « txt » est interprété comme pouvant correspondre à n'importe quel caractère. Pour faire en sorte qu'il ne corresponde qu'à un point (.), une barre oblique inverse (\) permet d'assurer son échappement. La barre oblique inverse n'est pas obligatoire dans « .log » parce que c'est une chaîne, et non une expression régulière.






Voir aussi




Table des matières