Comment déplacer un dossier en PowerShell ?
Sommaire
I. Présentation
Dans la série "Astuce PowerShell", je vais vous expliquer comment déplacer un dossier avec PowerShell, ce qui pourrait bien vous être utile dans vos scripts lorsqu'il s'agit de manipuler des données 😉
Il s'agit vraiment de vous montrer comment déplacer un dossier d'un emplacement vers un autre, ce qui revient à faire un couper-coller directement.
II. Déplacer un dossier
Pour déplacer un dossier, PowerShell met à notre disposition le cmdlet "Move-Item". Celui-ci peut être utilisé pour déplacer un dossier, mais également un fichier.
Pour déplacer le dossier "C:\Temp\Source\" à l'intérieur du dossier "C:\Temp\Destination\", nous allons utiliser la commande suivante :
Move-Item -Path "C:\Temp\Source\" -Destination "C:\Temp\Destination\"
Vous l'aurez compris, le paramètre "Path" sert à préciser la source. Suite à ce déplacement, le dossier "Source" est disponible à l'emplacement suivant : "C:\Temp\Destination\Source".
Il est à noter que cela va déplacer le dossier "Source" ainsi que toutes les données qu'il contient, mais aussi ses sous-dossiers. Prudence donc lorsque vous utilisez le cmdlet Move-Item...
III. Déplacer le contenu d'un dossier vers un autre dossier
Lorsqu'il s'agit de scripting, parfois il ne faut pas grand-chose pour modifier le comportement d'une commande. Lorsque l'on souhaite déplacer le contenu d'un dossier vers un autre dossier, sans déplacer le dossier source lui-même, il y a une petite subtilité.
Si l'on reprend l'exemple précédent, cela donnerait :
Move-Item -Path "C:\Temp\Source\*" -Destination "C:\Temp\Destination\"
En fait, la seule différence c'est l'astérisque à la fin du chemin source pour spécifier le contenu du dossier, plutôt que le dossier lui-même. Ainsi, toutes les données (fichiers + sous-dossiers) seront déplacées. Le dossier source quant à lui ne bougera pas, mais il sera vide.
Voilà, j'espère que cette astuce vous sera utile. D'autres sont à venir ?