2013-03-25 368 views
3

在此先感谢您的帮助。为什么? ROBOCOPY:错误32(0x00000020)访问目标目录。该进程无法访问该文件,因为它正在被另一个进程使用

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

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

  2. 为什么不是ROBOCOPY重试定义的999次?

命令低于:

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

这很可能是在ROBOCOPY的错误。它至少有一个其他错误围绕错误32 /在使用文件:/ b(备份)模式将失败,即使一个文件不是唯一的锁定(并可拷贝'copy','xcopy',Windows资源管理器,和没有/ b)的robocopy,所以我怀疑它在处理使用中的文件方面存在一些错误。

+0

这不是一个答案。这是一条评论。 ROBOCOPY有哪些缺陷?我建议使用handle.exe或一些进程ID工具来测试目标目录是否被另一个实际进程ID使用,并且我认为它是SQL Server代理。 – Fandango68 2017-08-29 02:21:47

0

ROBOCOPY中没有“bug”。

东西在不时地“锁定”您的源文件夹和文件。并非总是如此,因为这是证明您的副本“有时”工作的事实。

我会放置一个脚本将您的源文件“复制”到另一个位置(最好是驱动器),然后使用ROBOCOPY从该新位置进入另一个或最终位置。使用移动选项保持中间位置,免费为接下来的备份等

我用这个...

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

请注意,OP的错误消息是关于_directory_由于被另一个进程使用而无法访问;与正在使用的给定_file_类似的错误消息('复制文件...过程不能...')是有道理的,但在什么情况下robocopy认为_directory_专门锁定? – mklement0 2017-10-25 01:14:07

+0

@ mklement0没有。它不锁定目录, – Fandango68 2017-11-02 00:18:37

+0

这可能是因为没有锁定目录这样的事情。然而,我所问的问题是,为什么Robocopy _thinks_目录被锁定,正如错误消息所建议的那样。 – mklement0 2017-11-02 01:51:24

相关问题