munrobasher Asked: 2020-04-23 00:32:28 +0800 CST2020-04-23 00:32:28 +0800 CST 2020-04-23 00:32:28 +0800 CST 为什么目标上的尾部斜线会混淆 robocopy? 772 为什么以下 robocopy 命令会混淆?从 dest ("S:\Temp Backup") 中删除尾部斜杠,它可以按预期工作。 robocopy "S:\Temp\" "S:\Temp 备份\" /mir /ndl /mt /r:0 输出: 它使解析器将选项作为 dest 字符串的一部分包含在内。询问的主要原因是如果您在 PowerShell 中使用制表符补全,它会在目录上添加一个斜杠。同样的问题发生在 cmd.exe 中,所以不是 PowerShell 怪癖。 robocopy 1 个回答 Voted Best Answer Anaksunaman 2020-04-23T12:10:16+08:002020-04-23T12:10:16+08:00 为什么目标上的尾部斜线会混淆 robocopy? 因为\被视为转义字符。 这适用于源路径和目标路径,但仅当与双引号括起来的文件夹一起使用时(文件名中有或没有空格)。"遇到此问题时,最终的(不正确的)字符串文字清晰可见。 此问题的源路径版本抱怨没有指定目标路径(因为任何目标路径都包含在不正确转义的源路径中)。 此问题的解决方案包括使用: 没有双引号(假设路径中没有空格)。 没有尾随\(例如C:\path\to\folder) 双尾随\\(例如C:\path\to\folder\\) 尾随\.(例如C:\path\to\folder\.)
因为
\
被视为转义字符。这适用于源路径和目标路径,但仅当与双引号括起来的文件夹一起使用时(文件名中有或没有空格)。
"
遇到此问题时,最终的(不正确的)字符串文字清晰可见。此问题的源路径版本抱怨没有指定目标路径(因为任何目标路径都包含在不正确转义的源路径中)。
此问题的解决方案包括使用:
没有双引号(假设路径中没有空格)。
没有尾随
\
(例如C:\path\to\folder
)双尾随
\\
(例如C:\path\to\folder\\
)尾随
\.
(例如C:\path\to\folder\.
)