2009-05-28 116 views
27

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

回答

41

您可以在批处理文件中或直接从命令提示符下使用“进行”或者:

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\ 

欲了解更多信息,只是键入/?从命令提示符,或者更容易阅读帮助使用开始 - >帮助和支持并搜索“For”。在我的XP专业版框中,它是全文搜索结果中的第15项。

2
+0

问题并不表明.NET甚至安装,并且需要制定一个MS构建脚本。执行命令行副本已经很麻烦;为什么要添加所有的顶部? – jpmc26 2014-06-19 20:12:12

+0

这个问题是关于复制“作为构建后事件的一部分”的讨论。使用MSBuild对我来说很自然。 – 2014-06-26 07:57:34

+0

@DavidSchmitt我认为这是我想要的,但我不知道如何在构建事件中使用它。你能说出这样做的语法吗? – 2014-11-05 13:32:00

15

XP和Vista取代xcopyrobocopy,它会按照您的要求进行操作。你想要的东西的语法在第一个向后的感觉,但它的工作:

robocopy source\folder a\dest\folder file1.exe file2.bat file3.dll file4.txt