39 votes

Powershell Copy-Item récursivement mais n'inclut pas le nom du dossier

C'est une question stupide, mais je ne sais pas pourquoi ça ne marche pas.

J'essaie de copier les fichiers du DossierA au DossierB de manière récursive. C'est ce que je fais :

Copy-Item -Path "C:\FolderA\" -Destination "C:\FolderB\" -recurse -Force -Verbose

Il fonctionne très bien, sans problème.

Sauf que le résultat dans le dossier B est le suivant :

C:\FolderB\FolderA\file.txt

Alors que je veux qu'il le soit :

C:\FolderB\file.txt

Quelle est la chose stupide et évidente que je manque ?

51voto

FastEthernet Points 4376

Votre commande indique à PowerShell de copier le dossier lui-même, avec tout son contenu, dans le dossier de destination. Pour copier uniquement le contenu du dossier d'origine, modifiez votre chemin comme suit :

Copy-Item -Path "C:\FolderA\*" -Destination "C:\FolderB\" -recurse -Force -Verbose

Remarquez l'astérisque (*) après le nom du dossier. Cette opération copiera le contenu (y compris les sous-dossiers) du dossier, mais pas le dossier lui-même, dans le dossier de destination.

Utilisation du Cmdlet Copy-Item

1voto

Vous pouvez utiliser -Fichier -Recours pour Copier uniquement les fichiers de manière récursive :

Copy-Item -Path " C:\Source " -Destination " C:\Dest "-File -recurse -Force -Verbose

Ou utilisez -Répertoire -Recours pour copier uniquement la structure du dossier vide :

Copy-Item -Path " C:\Source " -Destination " C:\Dest "-Directory -recurse -Force -Verbose

Sincères salutations,

Paul Pedroza

0voto

ZachB Points 121

Réglage de -Container:$false omettra la structure du répertoire :

Copy-Item -Path C:\temp\tree -Filter *.txt -Recurse -Container:$false

Docs : https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/copy-item?view=powershell-7.1#example-12--recursively-copy-files-from-a-folder-tree-into-the-current-folder

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X