Использование xcopy для копирования файлов из нескольких каталогов в один каталог - PullRequest
16 голосов
/ 25 февраля 2009

Можно ли использовать xcopy для копирования файлов из нескольких каталогов в один каталог, используя только одну команду xcopy?

Предполагая, что у меня есть дерево каталогов

корень \ Source \ Sub1 \ Sub2

Я хочу скопировать все XML-файлы из каталога root \ Source, включая подпапку в корневой каталог \ Destination. Я не хочу копировать структуру папок, только файлы.

Ответы [ 3 ]

33 голосов
/ 25 февраля 2009

Как сказал DandDI, вам не нужна xcopy. для постановки очень помогает. Однако вам также не нужно указывать результат процесса команды dir, эта команда помогает лучше

for /R c:\source %f in (*.xml) do copy "%f" x:\destination\

Кстати, когда вы используете его из пакетного файла, вам нужно добавить запасной% перед переменной% f, следовательно, ваша командная строка должна быть;

for /R c:\source %%f in (*.xml) do copy %%f x:\destination\

при использовании в партии

  • Если окружить% f двойными кавычками, в противном случае не удастся скопировать имена файлов с пробелами
4 голосов
/ 25 февраля 2009

Вам не нужна xcopy для этого. Вы можете получить список всех необходимых вам файлов и выполнить копирование таким образом.

Например, в командной строке Windows XP:

for /f "delims==" %k in ('dir c:\source\*.xml /s /b') do copy "%k" x:\destination\

/ s попадает во все подкаталоги, а / b содержит только имена файлов и путь Каждый файл присваивается переменной% k, затем команда копирования копирует файл в место назначения. Единственный прием - убедиться, что пункт назначения не является частью источника.

0 голосов
/ 23 февраля 2013

Ответом на эту проблему, которую я считаю «Как собрать все ваши файлы из всех маленьких подкаталогов в один каталог», является загрузка программного обеспечения под названием XXCOPY. Это бесплатно доступно через XXCOPY.COM и, к счастью, есть бесплатная некоммерческая версия. Один из часто задаваемых вопросов в справочной системе на XXCOPY.COM - это «Как собрать все мои файлы в один каталог», и он говорит вам, какой переключатель использовать. XXCOPY - это верный способ сделать это, и он поставляется в архиве .zip, так что разархивировать его может быть не так просто, но это не особенно сложно. На сайте ZipGenius.it доступна программа для распаковки, которая называется ZipGenius, поэтому, возможно, перед тем, как загрузить XXCOPY, затем загрузите ZipGenius, тогда это будет маленькая частичная двойная копия (!)

...