Можно ли скопировать несколько именованных файлов в командной строке Windows, используя одну команду «копировать»? - PullRequest
36 голосов
/ 28 мая 2009

Я хотел бы скопировать несколько известных файлов в другой каталог как часть события после сборки, но не хочу, чтобы в моем файле были строки и строки "copy [file] [destination] [switch]" построить событие. Если это возможно, я хотел бы перечислить файлы, которые я хотел бы скопировать, используя аналогичный формат: «копировать [файл 1] [файл 2] [файл 3] [и т.д. , Однако Windows, похоже, не нравится этот тип формата. Есть идеи? Спасибо!

Ответы [ 3 ]

52 голосов
/ 29 мая 2009

Вы можете использовать «для» в пакетном файле или непосредственно из командной строки:

for %I in (file1.txt file2.txt file3.txt) do copy %I c:\somedir\

В списке файлов также поддерживаются подстановочные знаки:

for %I in (*.txt *.doc *.html) do copy %I c:\somedir\

Для получения дополнительной информации просто введите /? из командной строки или для более удобного чтения справки используйте Пуск-> Справка и поддержка и найдите «Для» В моем окне XP Pro это был пункт 15 в результатах полнотекстового поиска.

20 голосов
/ 29 мая 2009

XP и Vista заменили xcopy на robocopy , и это будет делать именно то, что вы хотите. Синтаксис того, что вы хотите, сначала кажется обратным, но он выполняет свою работу:

robocopy source\folder a\dest\folder file1.exe file2.bat file3.dll file4.txt
2 голосов
/ 28 мая 2009

Используйте задачу <Copy> MSBuild .

...