移動コマンドを使用して別のコンピューターからファイルを取得するバッチ ファイルがあります。
move \\otherpc\source\directory\*.bin c:\destination\
通常、パターンに一致するファイルがない場合、move は次のように出力します。
重複したファイル名が存在するか、ファイルが見つかりません。
他のコンピュータが見つからないかアクセスできない場合は、次のように出力されます。
ネットワークパスが見つかりませんでした。
しかし、次のような移動コマンドが返されました:
0 個のファイルが移動されました。
ノート:
- パターンに一致するファイルがあります
- 宛先フォルダは存在します
- ユーザーは両方のディレクトリ(ソースと宛先)に対して読み取り/書き込み権限を持っています
- どのファイルも読み取り専用ではありません。
- 宛先ドライブがいっぱいではありません。
他に何が欠けているのでしょうか? 移動がこのように動作する原因は何でしょうか?
答え1
何が問題の原因なのかはよく分かりませんが、潜在的な解決策については知っています:robocopy
move
は DOS の時代から存在し、それ以来あまり変わっていません。 と共にxcopy
、新しく改良された に取って代わられましたrobocopy
。 後者はより汎用性が高く、場合によってはバグが少し少なくなっています (ネットワークがその 1 つです)。
から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
。機能しない場合は、他に考えられる問題と回避策をいくつか示します。
ソース ファイルには開いているファイル ハンドルがあります。
ソースファイルが破損しています。
ソースファイルの名前が不適切です。
他の PC の OS やファイル システムは Windows と完全に互換性がありません。
copy
最初に試してみて、成功すればいいのですdel
。なぜかは理解できませんでしたが、うまくmove
いかないときもあります...