我可以使用单个"复制"命令在Windows命令行上复制多个命名文件吗?

Mar*_*ter 37 windows command-line post-build-event

我想将几个已知文件复制到另一个目录作为构建后事件的一部分,但不希望在我的构建事件中有"copy [file] [destination] [switches]"的行和行.如果可能的话,我想列出我想用类似格式复制的文件:"copy [file 1] [file 2] [file 3] [etc ...] [destination] [switches]" .但是,Windows似乎不喜欢这种类型的格式.有任何想法吗?谢谢!

Ken*_*ite 53

您可以在批处理文件中或直接从命令提示符中使用"for":

for %I in (file1.txt file2.txt file3.txt) do copy %I c:\somedir\
Run Code Online (Sandbox Code Playgroud)

文件列表中也支持通配符:

for %I in (*.txt *.doc *.html) do copy %I c:\somedir\
Run Code Online (Sandbox Code Playgroud)

有关详细信息,只需输入/?从命令提示符,或更容易阅读帮助使用开始 - >帮助和支持,并搜索"为".在我的XP专业版中,它是全文搜索结果中的第15项.

  • 奇迹般有效!唯一的事情是,当我在构建事件中使用时,我必须加倍我的百分号(即%in I in ...).谢谢!! (5认同)

Kev*_*vin 21

XP和Vista 用robocopy取代了xcopy,它将完全符合您的要求.你想要的语法起初会感觉倒退,但是它完成了这项工作:

robocopy source\folder a\dest\folder file1.exe file2.bat file3.dll file4.txt
Run Code Online (Sandbox Code Playgroud)

  • XP和Vista都没有"取代"xcopy.它还在那里. (2认同)