Déplace un élément d’un emplacement à un autre.
- Syntaxe
- Description
- Exemples
- Exemple 1 : Déplacer un fichier vers un autre répertoire et le renommer
- Exemple 2 : Déplacer un répertoire et son contenu vers un autre répertoire
- Exemple 3 : Déplacer tous les fichiers d’une extension spécifiée du répertoire actuel vers un autre répertoire
- Exemple 4 : Déplacer récursivement tous les fichiers d’une extension spécifiée du répertoire actuel vers un autre répertoire
- Exemple 5 : Déplacer des clés et des valeurs de registre vers une autre clé
- Exemple 6 : Déplacer un répertoire et son contenu vers un sous-répertoire du répertoire spécifié
- Paramètres
- Entrées
- Sorties
- Notes
Syntaxe
Description
Le cmdlet Move-Item
déplace un élément, y compris ses propriétés, son contenu et ses éléments enfants, d’unelocation à un autre emplacement. Les emplacements doivent être pris en charge par le même fournisseur.Par exemple, il peut déplacer un fichier ou un sous-répertoire d’un répertoire à un autre ou déplacer une sous-clé de registre d’une clé à une autre.Lorsque vous déplacez un élément, il est ajouté au nouvel emplacement et supprimé de son emplacement d’origine.
Exemples
Exemple 1 : Déplacer un fichier vers un autre répertoire et le renommer
Cette commande déplace le fichier Test.txt
du lecteur C:
vers le répertoire E:\Temp
et le renomme de test.txt
à tst.txt
.
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Exemple 2 : Déplacer un répertoire et son contenu vers un autre répertoire
Cette commande déplace le répertoire C:\Temp
et son contenu vers le répertoire C:\Logs
.Le répertoire « Temp », ainsi que tous ses sous-répertoires et fichiers, apparaissent alors dans le répertoire « Logs ».
Move-Item -Path C:\Temp -Destination C:\Logs
Exemple 3 : Déplacer tous les fichiers d’une extension spécifiée du répertoire actuel vers un autre répertoire
Cette commande déplace tous les fichiers texte (*.txt
) du répertoire actuel (représenté par un point(.
)) vers le répertoire C:\Logs
.
Move-Item -Path .\*.txt -Destination C:\Logs
Exemple 4 : Déplacer récursivement tous les fichiers d’une extension spécifiée du répertoire actuel vers un autre répertoire
Cette commande déplace tous les fichiers texte du répertoire actuel et de tous les sous-répertoires,récursivement, vers le répertoire « C:\TextFiles ».
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
La commande utilise le cmdlet Get-ChildItem
pour obtenir tous les éléments enfants du répertoire actuel(représenté par le point ) et de ses sous-répertoires qui ont une extension de nom de fichier « .txt ».Elle utilise le paramètre Recurse pour rendre la récupération récursive et le paramètre Include pour limiter la récupération aux fichiers « .txt ».
L’opérateur pipeline (|
) envoie les résultats de cette commande à Move-Item
, qui déplace les fichiers textes dans le répertoire « TextFiles ».
Si les fichiers qui doivent être déplacés vers « C:\Textfiles » ont le même nom, Move-Item
affiche une erreur et continue, mais il ne déplace qu’un seul fichier de chaque nom vers « C:\Textfiles ».Les autres fichiers restent dans leur répertoire d’origine.
Si le répertoire « Textfiles » (ou tout autre élément du chemin de destination) n’existe pas, la commande échoue.Le répertoire manquant n’est pas créé pour vous, même si vous utilisez le paramètre Force.Move-Item
déplace le premier élément vers un fichier appelé « Textfiles », puis affiche une erreur expliquant que le fichier existe déjà.
De plus, par défaut, Get-ChildItem
ne déplace pas les fichiers cachés.Pour déplacer les fichiers cachés, utilisez le paramètre Force avec Get-ChildItem
.
Note
Dans Windows PowerShell 2.0, lors de l’utilisation du paramètre Recurse de la cmdlet Get-ChildItem
, la valeur du paramètre Path doit être un conteneur.Utilisez le paramètre Include pour spécifier le filtre d’extension de nom de fichier .txt(Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles
).
Exemple 5 : Déplacer des clés et des valeurs de registre vers une autre clé
Cette commande déplace les clés et les valeurs de registre dans la clé de registre « MyCompany » dansHKLM\Software
vers la clé « MyNewCompany ».Le caractère générique (*
) indique que le contenu de la clé « MyCompany » doit être déplacé, et non la clé elle-même.Dans cette commande, les noms des paramètres facultatifs Path et Destination sont omis.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Exemple 6 : Déplacer un répertoire et son contenu vers un sous-répertoire du répertoire spécifié
Cette commande déplace le répertoire « Logs » (et son contenu) dans le répertoire « Logs ».
Move-Item -LiteralPath 'Logs' -Destination 'Logs'
Le paramètre LiteralPath est utilisé au lieu de Path, parce que le nom du répertoire originalinclut des caractères de parenthèse gauche et de parenthèse droite (« »).Le chemin d’accès est également placé entre guillemets simples (‘ ‘), de sorte que le symbole du retour arrière (`) ne soit pas mal interprété.
Le paramètre Destination ne nécessite pas un chemin d’accès littéral, car la variable Destination doit également être placée entre guillemets simples, car elle comprend des parenthèses qui peuvent être mal interprétées.
Paramètres
Vous invite à confirmer avant d’exécuter le cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position : | Nommé |
Valeur par défaut: | Faux |
Acceptation des entrées du pipeline : | False |
Accepter les caractères génériques : | False |
Note
Ce paramètre n’est pas pris en charge par les fournisseurs installés avec PowerShell.Pour usurper l’identité d’un autre utilisateur, ou élever vos informations d’identification lors de l’exécution de cette cmdlet,utilisez Invoke-Command.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | Utilisateur actuel |
Accepter l’entrée du pipeline : | True |
Acceptent les caractères génériques : | False |
Spécifie le chemin d’accès à l’emplacement où les éléments sont déplacés.La valeur par défaut est le répertoire actuel.Les caractères génériques sont autorisés, mais le résultat doit spécifier un seul emplacement.
Pour renommer l’élément en cours de déplacement, spécifiez un nouveau nom dans la valeur du paramètre Destination.
Type: | String |
Position: | 1 |
Valeur par défaut: | Répertoire actuel |
Acceptation de l’entrée pipeline : | True |
Accepter les caractères génériques : | True |
Spécifie, sous forme de tableau de chaînes, un ou plusieurs éléments que cette cmdlet exclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Saisissez un élément ou un motif de chemin, tel que*.txt
. Les caractères génériques sont autorisés. Le paramètre Exclude n’est effectif que lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*
, où le caractère générique spécifie le contenu du répertoire C:\Windows
.
Type: | Chaîne |
Position: | Nommée |
Valeur par défaut: | None |
Acceptation de l’entrée pipeline : | False |
Accepter les caractères génériques : | True |
Spécifie un filtre pour qualifier le paramètre Path. Le FileSystemprovider est le seul fournisseur PowerShell installé qui prend en charge l’utilisation de filtres. Vous pouvez trouver la syntaxe du langage de filtre FileSystem dans about_Wildcards.Les filtres sont plus efficaces que les autres paramètres, car le fournisseur les applique lorsque le cmdletgets les objets plutôt que de demander à PowerShell de filtrer les objets après leur récupération.
Type: | String |
Position: | Nommé |
Valeur par défaut: | None |
Accepter l’entrée du pipeline : | Faux |
Accepter les caractères génériques: | True |
Force l’exécution de la commande sans demander la confirmation de l’utilisateur.La mise en œuvre varie d’un fournisseur à l’autre.Pour plus d’informations, voir about_Providers.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Accepter l’entrée du pipeline : | False |
Accepter les caractères génériques : | False |
Spécifie, sous forme de tableau de chaînes, un ou plusieurs éléments que cette cmdlet inclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Saisissez un élément ou un motif de chemin, tel que"*.txt"
. Les caractères génériques sont autorisés. Le paramètre Include n’est effectif que lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*
, où le caractère générique spécifie le contenu du répertoire C:\Windows
.
Type: | Chaîne |
Position: | Nommée |
Valeur par défaut: | None |
Acceptation de l’entrée pipeline : | Faux |
Acceptation des caractères génériques : | True |
Spécifie un chemin vers un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement comme elle est tapée. Aucun caractère n’est interprété comme un caractère de remplacement. Si le chemin d’accès comprend des caractères d’échappement, il doit être placé entre guillemets simples. Les guillemets simples indiquent à PowerShell de n’interpréter aucun caractère comme une séquence d’échappement.
Pour plus d’informations, voir about_Quoting_Rules.
Type: | Chaîne |
Aliases: | PSPath, LP |
Position : | Nommé |
Valeur par défaut : | Non |
Acceptation de l’entrée du pipeline : | True |
Accepter les caractères génériques : | False |
Retourne un objet représentant l’élément avec lequel vous travaillez.Par défaut, cette cmdlet ne génère aucune sortie.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Accepter l’entrée du pipeline : | False |
Acceptent les caractères génériques: | False |
Spécifie le chemin vers l’emplacement actuel des éléments.La valeur par défaut est le répertoire actuel.Les caractères génériques sont autorisés.
Type: | Chaîne |
Position: | 0 |
Valeur par défaut: | Répertoire actuel |
Acceptation de l’entrée pipeline : | True |
Acceptation des caractères génériques : | True |
Montre ce qui se passerait si la cmdlet s’exécutait.La cmdlet n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position : | Nommé |
Valeur par défaut: | Faux |
Acceptation des entrées du pipeline : | False |
Acceptation des caractères génériques: | False |
Entrées
Chaîne
Vous pouvez canaliser une chaîne de caractères qui contient un chemin d’accès à cette cmdlet.
Sorties
Non ou un objet représentant l’élément déplacé
Lorsque vous utilisez le paramètre PassThru, cette cmdlet génère un objet représentant l’élément déplacé.Sinon, cette cmdlet ne génère aucune sortie.
Notes
- Cette cmdlet déplacera les fichiers entre les lecteurs qui sont pris en charge par le même fournisseur, mais elle déplacera les répertoires uniquement au sein du même lecteur.
- Parce qu’une commande
Move-Item
déplace les propriétés, le contenu et les éléments enfants d’un élément, tous les déplacements sont récursifs par défaut. - Cette cmdlet est conçue 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, voir about_Providers.
- Clear-Item
- Copy-Item
- Get-Item
- Invoke-Item
- New-Item
- Remove-Item
- Rename-Item
- Set-Item
- about_Providers