Using xcopy to copy files from several directories to one directory
是否可以使用xcopy仅使用一个xcopy命令将文件从多个目录复制到一个目录中?
假设我有目录树
root Source Sub1 Sub2
我想将所有.xml文件从目录root Source(包括子文件夹)复制到root Destination。 我不想复制文件夹结构,仅复制文件。
正如DandDI所说,您不需要xcopy。声明很有帮助。但是,您也不需要说明dir命令的处理结果,此命令可以更好地帮助您
1 | for /R c:\source %f in (*.xml) do copy"%f" x:\destination\ |
顺便说一句,当您从批处理文件中使用它时,您需要在变量%f前面添加备用%,因此您的命令行应该是:
1 | for /R c:\source %%f in (*.xml) do copy %%f x:\destination\ |
批量使用时
- 应该用双引号将%f括起来,否则将无法复制带有空格的文件名
您不需要xcopy。
您可以获得所需的所有文件的清单,并以这种方式执行复制。
例如在Windows xp命令提示符下:
1 | for /f"delims==" %k in ('dir c:\source\*.xml /s /b') do copy"%k" x:\destination\ |
/ s进入所有子目录,/ b仅列出文件名和路径。每个文件依次分配给%k变量,然后copy命令将文件复制到目标位置。唯一的技巧是确保目标不属于源。
我认为该问题的答案是"如何将所有小子目录中的所有文件收集到一个目录中"是下载一个名为XXCOPY的软件。可通过XXCOPY.COM免费获得该版本,幸运的是有一个免费的非商业版本。 XXCOPY.COM的帮助设施上的常见问题之一实际上是"如何将我的所有文件收集到一个目录中",它告诉您使用哪个开关。 XXCOPY虽然是一种确保成功的方法,但它位于.zip归档文件中,因此解压缩虽然不是那么简单,但也并不是特别困难。可以通过ZipGenius.it网站获得一个名为ZipGenius的解压缩程序,因此也许在您下载XXCOPY然后下载ZipGenius之前,这是一小部分的小时间两次wammy(!)。