2013-03-25 373 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

相關問題