17

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

假设我有目录树

根\源\Sub1\Sub2

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

4

4 回答 4

36

正如 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 否则它将无法复制带空格的文件名
于 2009-02-25T08:43:12.863 回答
4

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

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

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

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

于 2009-02-25T08:10:20.913 回答
0

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

于 2013-02-22T23:17:39.077 回答
0

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

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

于 2020-10-11T07:01:42.157 回答