我正在尝试使用robocopy但由于目录名称中的空格而无法使其工作
我正在尝试将3个目录:我的文档,我的音乐和我的图片复制到'C:\ test-backup',但希望最终结果是
'C:\ test-backup \我的文件'
'C:\ test-backup \我的音乐'
'C:\ test-backup \ My Pictures'
我的命令不起作用:
robocopy C:\Users\Angie C:\test-backup "My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
无论我做什么,都没有发生。有人有任何建议或窍门吗?
答案 0 :(得分:62)
经过一些反复试验并观察结果(换句话说,我将其破解),我得到了它的工作。
引号是使用带空格的路径名所必需的。诀窍是在结束引号之前的路径名之后必须有一个空格......就像这样......
robocopy "C:\Source Path " "C:\Destination Path " /option1 /option2...
这几乎看起来像一个错误,当然也不是很直观。
Todd K。
答案 1 :(得分:18)
如果路径不包含尾部反斜杠,则在关闭引号之前不需要添加空格,因此跟随命令应该起作用:
robocopy "C:\Source Path" "C:\Destination Path" /option1 /option2...
但是,以下方法不起作用:
robocopy "C:\Source Path\" "C:\Destination Path\" /option1 /option2...
这是由于here所述的转义问题:
\ escape可能会导致引用的目录路径出现问题 包含一个尾部反斜杠,因为结束引用"在......的最后 该行将被转义\"。
答案 2 :(得分:8)
将My Documents
与C:\test-backup
分开是什么意思?为什么报价仅在My Documents
附近?
我认为这是一个错字,尝试使用robocopy C:\Users\Angie "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
[编辑:] 由于文档指定的语法(robocopy <Source> <Destination> [<File>[ ...]]
)表示文件,因此它可能不适用于文件夹 。
您必须使用robocopy "C:\Users\Angie\My Documents" "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
答案 3 :(得分:2)
robocopy "C:\Users\Angie\My Documents" "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
robocopy "C:\Users\Angie\My Music" "C:\test-backup\My Music" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
robocopy "C:\Users\Angie\My Pictures" "C:\test-backup\My Pictures" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
答案 4 :(得分:1)
当您指定路径上的最后一个目录时,删除最后一个。
例如&#34; \ server \目录,其中space \目录为空格&#34;。
应该这样做。
答案 5 :(得分:1)
robocopy在解释源名称时存在一个错误。如果在路径末尾添加反斜杠来描述文件夹,则该文件夹将在行的其余部分中始终包含源字符串。即
robocopy“ C:\ backup \”%destination%/ e这里什么都不会转到目标字符串
robocopy“ C:\ backup”%destination%/ e,但这可行
我可能错了,但我认为两者都应该起作用!
答案 6 :(得分:-1)
如果此文件夹是命令中的第一个,则它不会使用文件夹名称中的空格,因此请使用下划线替换文件夹名称中的空格。
答案 7 :(得分:-1)
您应该只在路径"c:\program files\