我有 Windows Server 2008 Enterprise。我需要从网络文件夹复制文件,我将其作为 Z: 驱动器连接。我需要安排复制。在调度程序中,我每 5 分钟运行一次。
robocopy.exe Z:\ C:\destination /E
我尝试将其放入 .bat 文件中,尝试将其写入调度程序中,但都没有用。我已设置以最高权限运行...
任务计划程序成功完成任务“\RoboCopy”,实例“{dd2d2d1c-4ef1-4e30-b226-4a77aa52dab9}”,操作“C:\Windows\SYSTEM32\cmd.exe”,返回代码为 16。
答案1
您没有为 robocopy 提供 UNC 的原因是什么?我发现使用 UNC 比依赖计划任务中的映射驱动器更可靠。
答案2
来自 technet -
Exit code16
Robocopy did not copy any files. Check the command line parameters and verify that Robocopy has enough rights to write to the destination folder.
这听起来像是权限问题。计划任务通常以单独的用户身份运行,而执行任务的用户可能无法访问和映射您的 z:。
我建议以在远程驱动器上具有权限的网络用户身份运行,并且不要使用 z:,而是使用 \\computer_name\share,因为这应该可以解决权限问题。
有关退出代码的列表,请查看此处 -http://blogs.technet.com/deploymentguys/archive/2008/06/16/robocopy-exit-codes.aspx
答案3
源和目标是否位于同一网络上?我以前遇到过这个问题,当时我的映射驱动器位于远程位置,我必须允许两个方向和两个站点的 SMB 流量。另外,请务必查看您的操作系统防火墙。
您可以采取的另一个故障排除步骤是添加 /LOG:c:\path\to\logfile.txt 标志,以便您将来可以检查输出。
答案4
这个问题经常出现,第一个答案(Zoredache)通常是任何进行死灵潜水寻找答案的人的解决方案。
robocopy A: B: /*
用。。。来代替robocopy \\server1\share \\server2\\share /*
使反斜杠变为双斜杠。