相关:计划的 Robocopy 任务失败并出现 0x10 错误
我使用 robocopy 作为服务器备份脚本的一部分。它将文件获取到此工作站(Windows 7,从 Vista 升级 - 之前引起了一些怪癖),然后将它们复制到 LAN 中的服务器(Windows Server 2000)。
robocopy H:\folder \\SERVER\drive\folder /MIR /LOG:H:\backup.log /TBD /TEE
当此任务在计划任务中运行时,通常计算机自启动以来尚未访问网络文件夹。因此,它通常以失败告终:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Fri Jul 12 16:16:03 2013
2013/07/12 16:16:03 ERROR 3 (0x00000003) Getting File System Type of Destination \\SERVER\drive\folder
The system cannot find the path specified.
Source : H:\folder
Dest - \\SERVER\drive\folder
Files : *.*
Options : *.* /TBD /TEE /S /E /COPY:DAT /PURGE /MIR /R:1000000 /W:30
------------------------------------------------------------------------------
2013/07/12 16:16:03 ERROR 3 (0x00000003) Creating Destination Directory \\SERVER\drive\folder
The system cannot find the path specified.
如您所见,我尝试使用 /TBD 开关等待定义网络共享名称。它没有帮助。但是,稍后强制计划任务手动运行会成功更新所有文件。虽然在那段时间我没有访问服务器备份文件夹,但我确实访问了服务器上的不同共享。
我应该怎么办?在批处理脚本中添加重试?或者在继续之前使用不同的程序来确保网络路径可用?
检查您的权限。
您的“手动”运行,可能以 admin 身份运行,或者相反。
据我所知,在这种情况下,问题在于 Robo 副本在完成时发送给计划任务的退出代码的解释。计划任务不喜欢除 0 以外的任何内容,但 RoboCopy 的退出代码范围为 0 到 16。它第二次为您工作的原因是 RoboCopy 返回代码 0(未发现文件更改)并且计划任务将其“解释”为正确执行(代码 0)。我会将其归类为另一个 Microsoft 错误。