Move-Item

Déc 18, 2021
Module : Microsoft.PowerShell.Management

Déplace un élément d’un emplacement à un autre.

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

-Confirm

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
-Crédential

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

-Destination

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

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

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

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

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

-LiteralPath

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

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

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

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.