问题
I'd like to copy several known files to another directory as a part of a post-build event, but don't want to have lines and lines of "copy [file] [destination] [switches]" in my build event. If possible, I'd like to list out the files I'd like to copy using a similar format: "copy [file 1] [file 2] [file 3] [etc...] [destination] [switches]". However, Windows doesn't seem to like this type of format. Any ideas? Thanks!
回答1:
You can use 'for' either in a batch file or directly from the command prompt:
for %I in (file1.txt file2.txt file3.txt) do copy %I c:\somedir\
Wildcards are supported in the filelist as well:
for %I in (*.txt *.doc *.html) do copy %I c:\somedir\
For more info, just type for /? from a command prompt, or for a much easier to read help use Start->Help and Support and search for "For". On my XP Pro box, it was item 15 in the full text search results.
回答2:
XP and Vista replaced xcopy with robocopy, and it will do exactly what you want. The syntax for what you want feels backwards at first, but it does the job:
robocopy source\folder a\dest\folder file1.exe file2.bat file3.dll file4.txt
回答3:
Use the <Copy> MSBuild task.
来源:https://stackoverflow.com/questions/922607/can-i-copy-multiple-named-files-on-the-windows-command-line-using-a-single-copy