Копировать файлы без воссоздания подкаталогов - PullRequest
1 голос
/ 30 января 2011

У меня есть каталог, который содержит около 100 подпапок и около 2000 файлов в этих подпапках (до 4 слоев). Файлы имеют формат .txt или .log, и каждое расширение имеет уникальное имя файла. Мне нужно переместить или скопировать (в зависимости от того, что быстрее) файлы в корень другой папки без воссоздания структуры подпапок, как это делает xcopy. Это на Windows XP

Заранее спасибо.

Существующий:

Dir1\Folder1\000111.txt
Dir1\Folder2\000112.txt
Dir1\Folder3\000113.log
Dir1\Folder4\Dir2\000114.txt
Dir1\Folder4\Dir2\000115.txt
Dir1\Folder4\Dir2\000116.log
Dir1\Folder5\Dir3\000117.log
Dir1\Folder5\Dir3\000118.txt
Dir1\Folder5\Dir3\Dir4\000119.txt
Dir1\Folder5\Dir3\Dir4\000120.txt
Dir1\Folder5\Dir3\Dir4\000120.log
Требуется:
Dir9\000111.txt
Dir9\000112.txt
Dir9\000113.log
Dir9\000114.txt
Dir9\000115.txt
Dir9\000116.log
Dir9\000117.log
Dir9\000118.txt
Dir9\000119.txt
Dir9\000120.txt
Dir9\000120.log

1 Ответ

6 голосов
/ 30 января 2011

Как насчет чего-то вроде:

for /R %f in (*.txt,*.log) do copy %f dir9\%~nf

Введите это значение, указав dir1 в качестве рабочего каталога.

Прочитайте for /?, чтобы понять, почему это работает.

Когда я работаю с for утверждениями, я, как правило, пробую их сначала так:

for /R %f in (*.txt,*.log) do @echo copy %f dir9\%~nf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...