web-dev-qa-db-fra.com

Comment copier des fichiers de l'arborescence des dossiers en supprimant tous les dossiers avec Robocopy?

J'ai la structure de dossier suivante:

DossierA
-- Dossier1
-- Dossier2
-- Dossier3
...
-- Dossier99 

Les dossiers 1 à 99 contiennent des fichiers.

Tout ce que je veux faire est de copier TOUS LES FICHIERS dans UN SEUL DOSSIER, de faire une copie de FolderA et d'effacer les dossiers 1-99 en conservant tous les fichiers.

J'aimerais le faire avec Robocopy de cmd.exe si possible (Windows Server 2008)

33
roman m

Pourquoi utiliser robocopy? C'est un bon outil pour une tâche spécifique mais ce n'est pas celui-là.

Vous pouvez simplement utiliser ce que cmd vous donne déjà:

for /r %f in (*) do @copy "%f" target

Cela va essentiellement "aplatir" votre hiérarchie de répertoires. for /r va parcourir une arborescence de répertoires de manière récursive, à la recherche de noms de fichiers correspondant au modèle donné. Vous pouvez également spécifier le répertoire dans lequel démarrer:

for /r FolderA %f in (*) do @copy "%f" target

Dans la boucle, il ne s'agit que d'une simple copie du fichier dans un dossier spécifié.

51
Joey

Robocopy est un excellent outil ... quand vous avez un travail, il peut gérer. Pourquoi ne pas utiliser xcopy?

Si vous avez deux lecteurs, vous pouvez simplement utiliser xcopy:

XCOPY  C:\*.*  D:\NewFolder\   /S

Ou utilisez XXCOPY pour un lecteur:

XXCOPY C:\*.*  C:\NewFolder\   /S /CCY

XXCOPY

3
NitroxDM
Get-ChildItem -Path source -Recurse -File | Move-Item -Destination dest
0
Sid