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

时间:2009-02-25 07:58:12

标签: msbuild exec xcopy

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

假设我有目录树

根\源\ Sub1的\分公司2

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

4 个答案:

答案 0 :(得分:33)

正如DandDI所说,你不需要xcopy。声明帮助很多。但是,您也不需要声明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,否则无法使用空格复制文件名

答案 1 :(得分:4)

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

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

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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