web-dev-qa-db-fra.com

Répertoires et sous-répertoires xcopy récursivement et filtrer uniquement les noms de fichiers par extension

Voici ce que j'ai pour l'instant:

xcopy "c:\projects\SampleProject" "c:\temp\copytest" /E /H /EXCLUDE:elist.txt

Il fait tout le travail dont j'ai besoin, sauf le filtrage des noms de fichiers par extensions.

Par exemple: copiez tout *.exe fichiers de c:\temp\copytest et sous-répertoires.

Comment faire ça?

24
DxCK

Il se trouve que j'en avais besoin aussi, et j'ai découvert que si vous voulez copier des fichiers avec un type spécifique dans un nouveau dossier en conservant la structure de dossiers actuelle, vous n'avez besoin que de le faire

xcopy [SourcePath]*.mp3 [DestinationPath]  /sy

/s: Copie les répertoires et sous-répertoires, sauf s'ils sont vides. Si vous omettez/s, xcopy fonctionne dans un seul répertoire.

/y : supprime l'invite pour confirmer que vous souhaitez remplacer un fichier de destination existant

Documentation

39
pollirrata

Quelque chose comme:

@echo off
setlocal
set DIR=
set OUTPUTDIR=C:\Documents and Settings\<username>\Desktop\sandbox1\output
for /R %DIR% %%a in (*.mp3) do xcopy "%%a" "%OUTPUTDIR%"

Voir ( http://technet.Microsoft.com/en-us/library/bb490909.aspx )

3
colemik