【问题标题】:Using xcopy to copy files from several directories to one directory使用 xcopy 将文件从多个目录复制到一个目录
【发布时间】:2010-10-09 18:19:32
【问题描述】:

是否可以使用 xcopy 将文件从多个目录复制到一个目录中,只使用一个 xcopy 命令?

假设我有目录树

根\源\Sub1\Sub2

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

【问题讨论】:

标签: msbuild exec xcopy


【解决方案1】:

正如 DandDI 所说,您不需要 xcopy。 for 语句有很大帮助。但是,你也不需要说明 dir 命令的处理结果,这个命令会更好

for /R c:\source %f in (*.xml) do copy "%f" x:\destination\

顺便说一句,当您从批处理文件中使用它时,您需要在变量 %f 前面添加备用 % 因此您的命令行应该是;

for /R c:\source %%f in (*.xml) do copy %%f x:\destination\

当你在一个批次中使用它时

  • 应该用双引号将 %f 括起来,否则复制带空格的文件名会失败

【讨论】:

  • 是可能的 xcopy 解决方案 - 我找到了复制文件和文件夹的方法,但我只想抓取文件
  • 我对此有疑问,你能帮我解决这个问题吗?如果目标目录已经有一些文件,那么在这种情况下,我不想覆盖/替换现有文件,而只想直接复制新添加到源中的文件。
  • 不幸的是,我不再编写 DOS 脚本,但我想用 xcopy %%f x:\destination\ /Y 替换 copy %%f x:\destination\ 应该可以完成这项工作。请查看xcopy 文档。
【解决方案2】:

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

例如在 windows xp 命令提示符下:

for /f "delims==" %k in ('dir c:\source\*.xml /s /b') 复制 "%k" x:\destination\

/s 进入所有子目录,/b 仅列出文件名和路径。每个文件依次分配给 %k 变量,然后复制命令将文件复制到目标。唯一的技巧是确保目标不是源的一部分。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      可能不是确切的答案,但如果有人想在不编码的情况下这样做。

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

      【讨论】:

        猜你喜欢
        • 2015-06-23
        • 2015-10-15
        • 2017-11-11
        • 2012-02-15
        • 2012-03-04
        • 1970-01-01
        • 2017-11-18
        • 2013-06-01
        相关资源
        最近更新 更多