是否可以使用 xcopy 仅使用一个 xcopy 命令将文件从多个目录复制到一个目录中?
假设我有目录树
根\源\Sub1\Sub2
我想将所有 .xml 文件从目录 root\Source 包括子文件夹复制到 root\Destination。我不想复制文件夹结构,只复制文件。
正如 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\
当您在批次中使用它时
你不需要 xcopy 。您可以获得所需的所有文件的列表并以这种方式执行复制。
例如在 windows xp 命令提示符下:
for /f "delims==" %k in ('dir c:\source\*.xml /s /b') 复制 "%k" x:\destination\
/s 进入所有子目录,而 /b 仅列出文件名和路径。每个文件依次分配给 %k 变量,然后复制命令将文件复制到目标。唯一的技巧是确保目标不是源的一部分。
我认为这个问题的答案是“如何将所有小子目录中的所有文件收集到一个目录中”是下载一个名为 XXCOPY 的软件。这可以通过 XXCOPY.COM 免费获得,幸运的是有一个免费的非商业版本。XXCOPY.COM 帮助工具上的常见问题之一实际上是“如何将我的所有文件收集到一个目录中”,它会告诉您使用哪个开关。XXCOPY 是一种万无一失的方法,它包含在一个 .zip 存档中,因此解压缩它可能不是那么简单,但也不是特别困难。ZipGenius.it 网站上有一个名为 ZipGenius 的解压缩程序,所以可能在你下载 XXCOPY 之前下载 ZipGenius 然后它是一个 smallpart smalltime double wammy(!)
可能不是确切的答案,但如果有人想在不编码的情况下这样做。
您可以在特定文件夹中搜索项目的名称,然后您可以复制结果并稍后将其粘贴到所需的文件夹中。它会将同一个文件重命名为我认为作为前缀的文件夹,然后是重复的名称。