Question

J'ai un répertoire avec plusieurs sous-répertoires avec des fichiers.
Comment copier tous les fichiers des sous-répertoires dans un nouvel emplacement?

Modifier: je ne souhaite pas copier les répertoires, mais uniquement les fichiers ...

Comme cela concerne toujours XP, j'ai choisi la solution ci-dessous:

 for /D %S IN ("src\*.*") DO  @COPY "%S\" "dest\"

Merci!

Était-ce utile?

La solution

Ok. Avec votre modification qui dit que vous ne voulez pas la structure de répertoires, je pense que vous allez vouloir utiliser quelque chose comme ceci:

for /F "usebackq" %s IN (`DIR /B /S /A-D SrcDir`) DO @(
    XCOPY %s DestDir\%~nxs
)

Autres conseils

La commande Xcopy devrait aider ici.

XCOPY /E SrcDir\*.* DestDir\

Ou si vous ne souhaitez utiliser aucun des fichiers de SrcDir, mais uniquement les sous-répertoires, vous pouvez utiliser XCOPY conjointement avec la commande FOR:

FOR /D %s IN (SrcDir\*) DO @XCOPY /E %s DestDir\%~ns\

robocopy " c: \ source " " c: \ destination " / E

Si je vous ai bien compris, vous avez une grande arborescence de répertoires et vous souhaitez que tous les fichiers qu’elle contient se trouvent dans un répertoire. Si cela est correct, je peux le faire en deux lignes:

dir /s /b "yourSourceDirectoryTreeHere" > filelist.txt
for /f %f in (filelist.txt) do @copy %f "yourDestinationDirHere"

Dans un fichier de commandes et la ligne de commande, remplacez% f par %% f

Si vous souhaitez conserver la même structure de dossiers à l’autre extrémité, cela semble aussi simple que XCOPY

  

xcopy c: \ old \ *. * d: \ new \ / s

Utilisez / e au lieu de / s si vous souhaitez également copier les répertoires vides.

 for /D %S IN ("src\*.*") DO  @COPY "%S\" "dest\"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top