Я хотел бы скопировать несколько известных файлов в другой каталог как часть события после сборки, но не хочу иметь строки и строки «copy [file] [destination] [switch]» в моей сборке мероприятие. Если возможно, я хотел бы перечислить файлы, которые я хотел бы скопировать, используя аналогичный формат: «copy [file 1] [file 2] [file 3] [и т. Д.] [Destination] [переключатели] , Однако Windows, похоже, не нравится этот тип формата. Есть идеи? Благодаря!Можно ли скопировать несколько именованных файлов в командной строке Windows с помощью одной команды «copy»?
ответ
Вы можете использовать «для» или в пакетном файле или непосредственно из командной строки:
for %I in (file1.txt file2.txt file3.txt) do copy %I c:\somedir\
Wildcards поддерживаются в списке файлов, а также:
for %I in (*.txt *.doc *.html) do copy %I c:\somedir\
Для получения дополнительной информации, просто тип для /? из командной строки или для более удобной для чтения справки используйте Start-> Help and Support и найдите «For». В моем окне XP Pro это был пункт 15 в результатах полнотекстового поиска.
Используйте <Copy>
MSBuild task.
Вопрос не предполагает, что .NET даже установлен, и для этого потребуется разработать сценарий MS Build. Это уже громоздко просто сделать копию командной строки; зачем добавлять все это сверху? – jpmc26
Вопрос о копировании «как части события после сборки». использование MSBuild было для меня естественным. –
@DavidSchmitt Я думаю, что это то, что я хочу, но я не уверен, как это использовать в событии сборки. Можете ли вы показать синтаксис для этого? –
XP и Vista, заменил XCOPY с Robocopy, и он будет делать именно то, что вы хотите. Синтаксис для того, что вы хотите, сначала ощущается назад, но выполняет свою работу:
robocopy source\folder a\dest\folder file1.exe file2.bat file3.dll file4.txt
(как минимум, для более старых версий) XP не включают robocopy, вам нужно установить, если из чего-то вроде набора ресурсов сервера Windows 2003: http://www.microsoft.com/Downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang = en – Dolphin
@ Дельфин: хороший улов; У меня было это на моих машинах XP, и я не помню, чтобы установить его самостоятельно, но вы правы. – Kevin
Ни XP, ни Vista не заменили xcopy. Он все еще там. – Timwi
Работает как очарование! Единственное, что я должен удвоить свои процентные знаки при использовании в событии сборки (т. Е. Для %% I в ...). Благодаря!! – Pwninstein
Если файлы находятся в подпапках, добавьте '/ f' like' for/f %% I in (* .txt * .doc * .html) сделать копию% I c: \ somedir \ ' – Matheus