![Robocopy 在本地磁盘上抛出“文件名、目录名或语法不正确”](https://linux22.com/image/674522/Robocopy%20%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%A3%81%E7%9B%98%E4%B8%8A%E6%8A%9B%E5%87%BA%E2%80%9C%E6%96%87%E4%BB%B6%E5%90%8D%E3%80%81%E7%9B%AE%E5%BD%95%E5%90%8D%E6%88%96%E8%AF%AD%E6%B3%95%E4%B8%8D%E6%AD%A3%E7%A1%AE%E2%80%9D.png)
我正在尝试使用 robocopy 将超过 5 年的文件移动到另一台服务器,以将 3TB 卷的大小减少到 2TB 以下,以便可以使用 Microsoft VM Converter 对机器进行 P2V。
实际上有 3 台相同的服务器(同一家公司的 3 个办事处),并且此命令在其中 2 台上运行良好。但在某台服务器上运行时,输出为文件名、目录名或卷标语法不正确
Google 上有很多关于此错误的搜索结果,但它们似乎都与从/向网络共享(映射或 UNC)复制有关。我得到的输出表明 robocopy 发现本地文件夹存在问题,这令人担忧(并且不在任何搜索结果中)。
下面包含完整的输入/输出,但在使用 CHKDSK 之前,对我可能做错的事情有什么建议吗?全面扫描可能需要几天时间,并且会降低所有用户的访问速度,因此我宁愿避免这样做。
(注:HP ACU 显示没有磁盘/卷问题,并且磁盘没有指示任何错误)
输入
robocopy D:\Local\Folder X: /e /z copy:DATSO /move /minlad:1800 /log:D:\robocopy.log /tee
输出
2016/01/10 20:32:23 ERROR 123 (0x0000007B) Scanning Source Directory D:\Local\Folder
The filename, directory name, or volume label syntax is incorrect.
Waiting 30 seconds...
答案1
尝试将/NOCOPY
标志添加到您的复制命令中(参见robocopy
文档)。这将告诉 Robocopy 不要尝试读取文件夹的任何扩展属性或备用流。
如果出现这种情况,请使用 Sysinternals 的 PROCMON 并过滤进程 robocopy.exe - 这将为您提供更多低级诊断来解释失败的原因。
答案2
您在 之前缺少斜线“/” copy:DATSO
。我遇到了同样的错误消息,正确输入命令后问题得到解决。