Using xcopy to copy multiple files/directories, some of which have spaces
我正在尝试使用xcopy将多个文件和目录复制到外部硬盘驱动器上。 以下命令可以正常使用...
1 | xcopy d:\location\folder /e |
...除了不会复制带有d:/ location / folder且带有空格的任何文件/目录。 我了解Windows要求在文件名中使用空格将其括在引号中,但是如果我试图做一个巨大的递归副本(其中名称中可能包含多个文件或文件夹)怎么办?
使用引号:
1 | xcopy"d:\location\folder" /e |
您应该通过以下方式使用引号:
1 | xcopy"d:location\folder\anotherfolder\folder with spaces" |
请注意,单位字母和冒号都放在引号之外,也不要在开头加上
这可能不是您问题的答案,但是xcopy的替代方法是robocopy。请参阅以下有关子目录的xcopy。
http://ss64.com/nt/xcopy.html
此外,如果源目录或目标目录中有空格。然后,应将它们用引号(")引起来。例如:
xcopy"带空格的源路径"" targetPath"
干杯
给出的例子使我感到不安。也许是不必要的,但是我在Win cmd.exe窗口上的阅读内容(使用[]包含相关的位:^)是:
[命令] [d: location folder] [目标驱动器:LOCATION:FOLDER] [/ E]
也许小写的/ e也有效,也许在隐含的目的地可以显示当前的位置。当我键入" help xcopy"时,它列出了命令名称,源,目标和/ Upper Case Switches。是的,目的地是可选的。但是,当结果不符合您的期望时,退回标准格式,并进行适当的操作,似乎是一个更好的开始。一个人可以专注于不起作用的事情。
帮助示例没有使用它,但是如果很清楚给出的文字路径是词干并且明确地放在通配符中,我也会感到更加安全。
C:> xcopy / E C: Backup * C: ToyVmBackup
C: Backup Backup_VM1_2015-08-27T221110.vbk
C: Backup Backup_VM2_2015-08-31T221227.vbk
C: Backup VeeamConfigBackup SVC-L7-WABBOTT SVC-L7-WABBOTT_2015-08-24_10-00-15.bco
已复制3个文件
好的,我给/ E加上了前缀并摆脱了它。只要/ E以'/'开头,我就试图控制它的歧义性。