2015-09-24 2 views
1

Мне нужно скопировать много файлов * .txt из нескольких папок в один.CMD - копирование файлов из нескольких папок в одну папку

Я пытаюсь использовать для ехра .:

xcopy D:\Dokumenty\*.txt D:\final /sy 

Но это делает 1: 1 копию папки. Мне нужно копировать только файлы в новую папку.

Спасибо за помощь.

ответ

1
for /r "D:\Dokumenty\" %%# in (*.txt) do copy /y "%%~f#" "D:\final" 
+1

'Robocopy' часто будет намного быстрее, чем обычный' copy' - особенно если вы запустите его с помощью переключателя '/ mt'. – Kristian

2

Вы также можете использовать подстановочные знаки (?*) в ROBOCOPY

usage: ROBOCOPY source destination [file [file]...] [options] 

Транспонирование ваш пример должен выглядеть следующим образом:

ROBOCOPY "D:\Dokumenty\" "D:\final" *.txt /S 
+0

Я пробую это, но он копирует файлы и подпапки. – Firejs

+0

@Firejs удалить '/ S', что также делает xcopy в вашем примере. – Paul

+0

Я настоятельно рекомендую запустить 'robocopy' с несколькими потоками: попробуйте сравнить с помощью переключателя'/mt'. – Kristian

Смежные вопросы