Msbuild 使用xcopy将文件从多个目录复制到一个目录

Msbuild 使用xcopy将文件从多个目录复制到一个目录,msbuild,exec,xcopy,Msbuild,Exec,Xcopy,是否可以使用xcopy仅使用一个xcopy命令将多个目录中的文件复制到一个目录中 假设我有目录树 根目录\Source\Sub1\Sub2 我想将所有.xml文件从root\Source目录(包括子文件夹)复制到root\Destination目录。我不想复制文件夹结构,只想复制文件。不需要xcopy。 您可以获得所需的所有文件的列表,并以这种方式执行复制 例如,在windows xp命令提示符中: for /f "delims==" %k in ('dir c:\source\*.xml /s

是否可以使用xcopy仅使用一个xcopy命令将多个目录中的文件复制到一个目录中

假设我有目录树

根目录\Source\Sub1\Sub2


我想将所有.xml文件从root\Source目录(包括子文件夹)复制到root\Destination目录。我不想复制文件夹结构,只想复制文件。

不需要xcopy。 您可以获得所需的所有文件的列表,并以这种方式执行复制

例如,在windows xp命令提示符中:

for /f "delims==" %k in ('dir c:\source\*.xml /s /b') do copy "%k" x:\destination\ 对于/f“delims==%k in('dir c:\source\*.xml/s/b'),请复制“%k”x:\destination\
/s进入所有子目录,/b只列出文件名和路径。将每个文件inturn分配给%k变量,然后copy命令将文件复制到目标。唯一的诀窍是确保目的地不是源的一部分。

正如DandDI所说,您不需要xcopy。for语句帮助很大。然而,您也不需要声明dir命令的处理结果,这个命令帮助您更好地完成任务

for /R c:\source %f in (*.xml) do copy "%f" x:\destination\
顺便说一下,当您从批处理文件中使用它时,您需要在变量%f前面添加备用%f,因此您的命令行应该是

for /R c:\source %%f in (*.xml) do copy %%f x:\destination\
在批处理中使用时

  • 应使用双引号将%f括起来,否则将无法复制带空格的文件名

    • 我认为这个问题的答案是“如何将所有文件从所有小目录收集到一个目录中”,下载一个名为XXCOPY的软件。这是通过XXCOPY.COM免费提供的,幸运的是还有一个免费的非商业版本。XXCOPY.COM帮助工具中的一个常见问题是“如何将所有文件收集到一个目录中”,它会告诉您要使用哪个开关。XXCOPY是一种可靠的方法,它包含在.zip存档中,因此解压缩不是那么简单,但也不是特别困难。ZipGenius.it网站提供了一个名为ZipGenius的解压程序,因此,在下载XXCOPY之前,请先下载ZipGenius,然后再下载ZipGenius,这是一个小部分的smalltime double wammy(!)

      可能不是确切的答案,但如果有人想不编码就这样做


      您可以在特定文件夹中搜索项目名称,然后复制结果,然后将其粘贴到所需文件夹中。它会将同一个文件重命名为我认为是前缀的文件夹,然后是重复的名称。

      不过,如果可能的话,看看xcopy soultion会很有趣。对于非DOS命令方式,试试这个-xcopy解决方案可能吗-我找到了复制文件和文件夹的方法,但我想只抓取文件我对此有疑问,你能帮我做这个吗?如果目标目录已经有一些文件,那么在这种情况下,我不想覆盖/替换现有文件,只想直接复制源代码中新添加的文件。不幸的是,我不再编写DOS脚本,但我想用
      xcopy%%f x:\destination\
      替换
      xcopy%%f x:\destination\/Y
      就可以了工作。请查看
      xcopy
      文档。