Robocopy 在复制文件的过程中看不到新文件

Robocopy 在复制文件的过程中看不到新文件

使用此命令(大部分是从另一篇文章中复制的)在 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
}

如果需要,添加逻辑来正常结束工作。

相关内容