使用此命令(大部分是从另一篇文章中复制的)在 Windows 7 上使用 robocopy 从本地磁盘到 USB 进行一些测试:
ROBOCOPY c:\RC_Source d:\RC_Dest /E /ZB /XJ /XF "~。“ “~.“desktop.ini” “Thumbs.db” “.lock” “.Sync*” /xd “垃圾” “.Sync*” “.Box Sync” “_private” “Outlook 文件” /FFT /R:2 /W:5 /V /MON:1 /LOG:robocopy.log /TEE
它似乎可以正常工作,但如果 robocopy 正在复制文件,而我将另一个文件粘贴到同一目录中,则在完成最后一个文件或监视文件/目录更改后,它不会被复制。如果在 robocopy 等待更改时,我将另一个文件复制到源目录中,那么它将复制这两个文件。或者,如果我终止 robocopy 命令并重新启动它,那么它将复制文件。
有什么方法可以纠正这个问题吗?
答案1
据我所知没有直接的解决方法,但我认为以下 powershell 脚本可能是处理该问题的最简单的方法:
Start-Job -ScriptBlock {
robocopy <sourcedir> <destdir> /MOV /MON:1
}
while (1) {
try {Get-ChildItem <sourcedir> | Foreach-Object {$_.LastWriteTime = Get-Date}}
catch{}
Start-Sleep -Seconds 10
}
如果需要,添加逻辑来正常结束工作。