我有一個批次文件,它使用移動命令從另一台電腦提取文件:
move \\otherpc\source\directory\*.bin c:\destination\
通常,如果確實沒有與模式匹配的文件,則 move 將列印:
存在重複的檔案名,或找不到該檔案。
如果無法找到/到達另一台計算機,它將列印:
找不到網路路徑。
但我有一個返回的移動命令:
移動了 0 個檔案。
筆記:
- 存在與模式匹配的文件
- 目標資料夾確實存在
- 使用者對兩個目錄(來源目錄和目標目錄)都具有讀寫權限
- 所有文件都不是唯讀的。
- 目標驅動器未滿。
我還缺什麼?什麼會導致舉動出現這樣的行為?
答案1
我不太確定是什麼導致了您的問題,但我確實知道潛在的解決方案:robocopy
move
自 DOS 時代以來就已經存在,並且從那時起就沒有太大變化。同時xcopy
,它被新的和改進的robocopy
.後者更通用,在某些情況下錯誤更少(網路就是其中之一)。
從robocopy /?
:
Usage :: ROBOCOPY source destination [file [file]...] [options]
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir (drive:\path or \\server\share\path).
file :: File(s) to copy (names/wildcards: default is "*.*").
...
/MOV :: MOVe files (delete from source after copying).
/MOVE :: MOVE files AND dirs (delete from source after copying).
該命令與您的命令等效move
:
robocopy \\otherpc\source\directory c:\destination *.bin /mov
如果這樣有效,別擔心為什麼move
不行。如果沒有,這裡有一些其他潛在的問題和解決方法:
來源檔案上有一個開啟的檔案句柄。
來源檔案已損壞。
來源檔案的名稱不正確。
另一台電腦的作業系統和/或檔案系統與 Windows 不完全相容。
你總是可以先嘗試
copy
並del
取得成功。我一直不明白為什麼,但這有時行得通,但move
不起作用...