蝙蝠文件MOVE由于其他进程句柄而失败



我有一个bat文件,作为大型维护系统的一部分,该系统每晚运行,执行一些内务管理、SVN更新等。其中一部分涉及移动/删除文件,但偶尔会因为另一个进程没有释放要移动的文件/目录的句柄而失败。是否有任何方法可以强制BAT文件覆盖任何现有句柄并继续MOVE?我只能想到使用ProcessExplorer/Assassin的查找方法,尽管我甚至不确定它是否有效。或者"睡一觉",如果第一次失败了,再重新尝试,尽管这比解决根本问题更靠运气。非常感谢您的任何想法/建议。谢谢

Robocopy有移动功能,可以等待错误

以下是我在类似情况下所做的一些事情:

  • 在执行move命令之前,请确保其他脚本线程CD位于目标目录之外
  • 使用robocopy(来自资源工具包)和重试/r:3和等待/w:5等选项
  • 将第一个操作编写为COPY,以便脚本可以继续工作,然后在脚本的后面,在旧的/不需要的位置执行删除操作
  • 正如您已经提到的,使用IF ERRORLEVEL命令创建一个小的重试循环,以测试MOVE命令的成功

最新更新