コマンドラインを使用して、あるディレクトリを別のディレクトリにコピーしたいと思います。たとえば、ディレクトリC:/test
とがありますC:/test2
。
結果が次のようになるようにC:/test
コピーしたいですC:/test2
C:/test2/test
C:/test
これまでに見つけたものはすべて、に含まれるファイルとフォルダーのみを にコピーしC:/test2
、親ディレクトリは除外します。
答え1
XCOPY
スイッチを使ってみてください/E
。詳細情報ここ。
私は脳からこの情報にアクセスする必要がなかった年!
アップデート
ドキュメントには、ソース ディレクトリからすべてのファイルとサブディレクトリをコピーする (つまり、親ディレクトリは作成されない) と記載されているため、最初test
に を作成しC:\test2
てから を使用する必要がありますXCOPY
。
答え2
答え3
ROBOCOPY
バックアップ スクリプトを作成する場合に使用します。xcopy
は非推奨になっており、近い将来に段階的に使用されなくなる可能性があります。 は、できることはrobocopy
すべて実行できますxcopy
。 また、より柔軟で信頼性も高くなります。 を使用してスクリプトを作成すると、robocopy
将来も使用できます。
robocopy を使用すると、フォルダーを簡単にコピーできます。robocopy コマンドは xcopy コマンドに代わるものです。内容の定義を気にすることなく、フォルダー全体をすばやくコピーできます。たとえば、C:\tools ディレクトリの内容すべてを新しいフォルダー D:\backup\tools にコピーするには、次のように入力します。
robocopy C:\tools D:\backup\tools /e
/e 修飾子は、robocopy にすべてのサブディレクトリを含めるように指示します。これには空のフォルダーも含まれます。robocopy は隠しファイルとシステム ファイルを自動的にコピーします。ターゲットの場所にディレクトリが存在しない場合は、新しいディレクトリを作成します。
ディレクトリをミラーリングします。ディレクトリをミラーリングすると、バックアップを作成するのに便利です。robocopy のミラー オプションは、ソースから宛先にすべてのコンテンツをコピーします。その後、ソースに存在しないものは宛先から削除されます。これにより、バックアップにはファイルの最新バージョンのみが含まれるようになります。たとえば、C:\Users\My Documents を D:\backup\My Documents にミラーリングするには、次のように入力します:[4]
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
この機能は元のファイルのすべての権限を保持します。
再起動を有効にします。コピーの途中で接続が切断された場合に備えて、プロセスを再起動する機能を含めることをお勧めします。
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
コピー プロセスをログに記録します。robocopy を使用すると、ログ ファイルを作成できます。これにより、問題を特定したり、コピーされた内容のアーカイブを生成したりすることができます。
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
/log+ 修飾子は、既存のログ ファイルを上書きするのではなく、追加します。古いログ ファイルを上書きしたい場合は、/log:.txt を使用します。
答え4
XCOPY SourceDrive: DestinationDrive: /S /E
たとえば、コマンド ラインまたは xboot コマンド環境からE:
ドライブ データをドライブ (外付けハード ドライブ) にコピーする必要がある場合などです。H:
xboot:\>XCOPY E:\ "H:\BackupFolder\" /S /E