使用内部更改监视器/ MON:1选项自动运行Windows Robocopy

/ MON:1选项工作得非常好,只要发生更改就可以运行目录扫描。 如果robocpy每10分钟从Windows调度程序运行,这是不可能做到的。

有没有办法来运行

robocopy \\192.168.1.100\D$\RoboCopyTest \\192.168.1.200\D$\RoboCopyTest /FFT /Z /ETA /E /XA:H /R:0 /W:1 /XO /NP /NDL /NFL /MON:1 

当Windows启动时自动执行命令,并且如果命令由于某种原因被停止 – 重新启动它,并通知Windows事件日志:由于某种原因命令已被停止。 带有/ MON:n选项的robocpy命令只有在文件有N个更改时才会自行运行。

您可能最好为此创build一个Windows服务,而不是从任务计划程序运行它。 服务框架是围绕这个开始一次运行的永远types的程序devise的,并且在发生未知停止的情况下具有事件挂钩。

创build用户定义的服务非常简单。 虽然它是为Windows 2000devise的 ,但它仍然适用于2008年。'sc'命令用于创build服务。

 sc create "Robocopy-Service" binPath= "c:\tools\robocopy.exe" start= auto 

根据您希望运行的服务更改值。 一旦在那里,你可以进入服务pipe理器,并修改服务,以处理突然停止。 它会一直logging和事件(“服务xyz意外停止”),但你可以告诉它如何重新启动服务,或运行脚本,如果你需要发送有关它的电子邮件。

要展开上面的响应并为robocopy提供参数:

 sc create "Robocopy Service" binpath="c:\windows\system32\robocopy.exe /JOB:robocopy" 

这将读取包含所有参数的robocopy.rcj文件。

您可以使用所有需要的参数执行robocopy命令,并添加/ SAVE:robocopy命令来创buildrobocopy.rcj文件。 然后您可以通过编辑robocopy.rcj文件来修改参数。