
Windows のコマンド ラインを使用してディレクトリを別のディレクトリにコピーする際に問題が発生するとは信じられません。
私がやりたいことはシンプルです -:
次のようなディレクトリがあるとします:
C:\test
そして、テストを D にコピーしたいのですが、D には次のようなフォルダーがあるはずです。
D:\test
私が使うとき
robocopy C:\test D:\test \E
D ドライブは、test というディレクトリに含まれるのではなく、ルートに C:\test の内容が含まれることになります。
この簡単なことをどうやってやるんですか?
答え1
正確な複製を作成する場合は、次のバージョンを使用します (/E と /PURGE を追加するのと同じです)。
robocopy c:\source d:\destination /MIR
空のディレクトリを含むディレクトリとサブディレクトリをコピーするだけの場合は、
robocopy c:\source d:\destination /E
問題となっているのは、E オプションのバックスラッシュです。
Robocopy について詳しく知るには、次の便利な検索をご利用ください。
答え2
robocopy
前の回答での の使用法は、実際には質問、つまりソース フォルダーとその内容を宛先フォルダーにコピーする、という質問への回答になっていないように思えます。
私にとっては、次の方法がうまくいきました。作成日を保存し、アクティビティをファイルと画面の両方に記録します。また、アクセスできない場合は、ファイルの読み取りを最大 5 回再試行します。必要に応じて、フラグを自由に変更してください。
robocopy 'G:\Some Directory\A ' 'E:\Some Directory\A ' /e /dcopy:T /mt /tee /log:A.log /r:5
私にとっては明らかではないと思われる 2 つの観察事項:
- パス文字列は、格納ディレクトリなしでその内容だけではなく、ソース ルート ディレクトリが宛先に作成されるように、スペースで終わる必要があります。
- コマンドを発行する前に宛先のルート ディレクトリが存在しなくても、宛先パス内に存在している必要があります。
- ルート ディレクトリの元の作成日は保持されます。
質問されているような一般的に望まれている操作が、より適切に文書化されていないのは驚きです。
答え3
答え4
この回答では は使用されていませんがrobocopy
、ディレクトリをコピーするという目的は達成できると思います。
以下を使用してみてください:xcopy
使用法:xcopy source [destination] ...
詳細については、以下を実行して確認してください。xcopy /?