为什么? ROBOCOPY:ERROR 32(0x00000020)访问目标目录。该进程无法访问该文件,因为该文件正由另一个进程使用

时间:2013-03-25 15:53:44

标签: robocopy

提前感谢您的帮助。

我正在使用ROBOCOPY将某些文件从驱动器复制到同一台计算机上的另一个文件。每隔一段时间,我就会收到一个错误。而不是重试999次,它重试一次并失败。我有几个问题:

  1. 为什么这个错误会在第一时间发生?

  2. 为什么ROBOCOPY没有按照定义重试999次?

  3. 命令如下:

    mkdir C:\Users\tempuser\AppData\Local\temp\test1
    robocopy /R:999 /W:5 /NP /E /XO /NFL /NDL E:\test1 C:\Users\tempuser\AppData\Local\temp\test1 test* 
    
    -------------------------------------------------------------------------------
       ROBOCOPY     ::     Robust File Copy for Windows                              
    -------------------------------------------------------------------------------
    
      Started : Monday, March 25, 2013 4:20:51 AM
       Source : E:\test1 
         Dest  : C:\Users\tempuser\AppData\Local\temp\test1
    
        Files : test*
    
      Options : /NDL /NFL /S /E /DCOPY:DA /COPY:DAT /NP /XO /R:999 /W:5 
    
    ------------------------------------------------------------------------------
    
    2013/03/25 04:20:51 ERROR 32 (0x00000020) Accessing Destination Directory C:\Users\tempuser\AppData\Local\temp\test1
    The process cannot access the file because it is being used by another process.
    
    Waiting 5 seconds... Retrying...
    
    ------------------------------------------------------------------------------
    
                   Total    Copied   Skipped  Mismatch    FAILED    Extras
        Dirs :         1         0         0         0         1         0
       Files :         0         0         0         0         0         0
       Bytes :         0         0         0         0         0         0
       Times :   0:00:05   0:00:00                       0:00:05   0:00:00
       Ended : Monday, March 25, 2013 4:20:56 AM
    

2 个答案:

答案 0 :(得分:2)

这很可能是robocopy中的一个错误。它至少有一个围绕错误32 /使用文件的其他错误:/ b(备份)模式将失败并显示此错误,即使文件未被独占锁定(并且可以复制' copy',&# 39; xcopy',windows explorer,以及没有/ b)的robocopy,所以我怀疑它一般如何处理正在使用的文件。

答案 1 :(得分:0)

ROBOCOPY中没有“bug”。

有些东西会不时“锁定”你的源文件夹和文件。并非总是如此,因为这是基于您的副本“有时”工作的证据。

我会放置一个脚本将源文件“输出”到另一个位置(最好是驱动器),然后将ROBOCOPY从新位置用到另一个或最终位置。使用move选项可以为下一次备份保留中间位置等等。

我用这个......

robocopy <source path> <target path> <files> /s /j /r:2 /w:5 /log+:robocopy.log