Script pour copier des fichiers et des dossiers avec PowerShell

Comment copier des fichiers dans un autre dossier avec un script PowerShell et Copy-Item?

Plusieurs options efficaces permettent de copier des fichiers Windows depuis l’invite de commande PS. En Scripting PowerShell, utiliser la commande Copy-Items dans une invite Windows PowerShell. Il est également possible de copier depuis l’interface graphique, mais cette option est très manuelle.

En effet, il est toujours possible de copier des fichiers et des dossiers à l’aide de l’interface fournie utilisateur par Windows. Mais il est plus efficace d’effectuer des copies importantes et spécifiques.

Copier des fichiers et des dossiers avec les scripts Windows PowerShell

En effet, le Scripting Windows Shell est beaucoup plus efficace que la copie manuelle. Par exemple, pour copier 500’000 fichiers textes avec des extensions ou des noms très spécifiques. Et s’assurer qu’ils ont tous été copiés, sans aucune erreur.

Utiliser la commande Windows Copy-Item

Ou alors avec un contrôle et un enregistrement strict des erreurs. Manuellement, cette opération prendrait des jours. La commande PowerShell Copy-Item est la meilleure option disponible.

Ouvrir l’invite de commande Windows PowerShell

Depuis le menu démarrer Windows 10 par exemple, taper « Windows PowerShell » dans le champ de recherche et cliquer sur l’icône.

Commande PS pour copier un fichier dans un autre dossier

Script de copie simple pour garder le même nom et la même extension.

Copy-Item -Path C:\folder\file.txt -Destination C:\newfolder\file.txt

Script PowerShell pour copier un fichier et changer le nom du fichier cible

Par ailleurs, avec Power Shell, pour modifier le nom de la copie, changer simplement le nom du fichier de destination.

Copy-Item -Path C:\folder\file.txt -Destination C:\folder\newfile.txt

Exemple de script PowerShell pour copier tous les fichiers avec un filtre sur le nom

C’est-à-dire avec une extension spécifique ou un nom spécifique avant le séparateur. Cet exemple de script de copie tous les fichiers textes, avec une extension TXT dans le dossier newfolder. Et permet d’écraser les fichiers s’ils existent déjà avec l’option -Force.

Copy-Item -Path C:\folder\file*.txt -Destination C:\newfolder -Force
Copier des fichiers et des dossiers avec un script Windows PowerShell et Copy-Item
Copier un fichier avec Windows PowerShell

D’autres options de Scripting sont disponibles pour la commande PowerShell Copy-Item, avec par exemple :

  • La première : -Force pour écraser le fichier de destination.
  • Ou encore : -Recurse pour copier de manière récursive depuis la source ou la destination, en fonction de l’emplacement du mot clef dans la commande.
  • L’option -Filter pour séparer le filtre de l’emplacement de la source de copie.

Noter que cette liste d’options n’est pas exhaustive.

Activer explicitement l’invite de confirmation de copie avec PowerShell

Utiliser l’option de PowerShell de confirmation : -Confirm

En effet, utiliser ces options pour mieux gérer et contrôler les copies de fichiers et éviter d’écraser des fichiers importants, potentiellement non sauvegardés. Ce dernier exemple de script PowerShell de copie indique au système de demander une confirmation avant d’écraser les fichiers.

Copy-Item -Path C:\folder\file.txt -Destination C:\folder\newfile.txt -Confirm

En conclusion, ce premier article sur la série Scripting avec Windows PowerShell montre comment copier fichiers et dossier avec des exemples de scripts concrets. Pour aller plus loin, voici comment copier des fichiers et des dossiers avec un script cmd.