2010-06-01 1 views
20

Вот то, что я есть сейчас:XCOPY каталоги и подкаталоги рекурсивно и фильтровать только имена файлов расширением

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

Это делает всю работу, мне нужно, кроме фильтрации имен файлов с помощью расширений.

Например: скопировать все *.exe файлов из c:\temp\copytest и в подкатегориях.

Как это сделать?

ответ

4

Что-то вроде:

@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%" 

См (http://technet.microsoft.com/en-us/library/bb490909.aspx)

+0

, что если бы я хотел, чтобы скопировать файлы .txt в дополнение к MP3-файлы? – user95227

32

мне случилось это нужно тоже, и выяснил, что если вы хотите XCopy файлов с определенным типом в новую папку сохраняя текущую папку структура вам нужно только сделать это

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

/с: Копирует каталоги и подкаталоги, если они не пусты. Если вы опускаете/s, xcopy работает в пределах одного каталога.

: Подавляет побуждая, чтобы подтвердить, что вы хотите, чтобы перезаписать файл существующие назначения

Documentation

+3

При копировании проектов оператор '/ D' также полезен. Он заказывает CMD только для копирования файлов, которые новее, чем их адресат напротив. –