MEMO blog

主に自分用のメモです

【BAT】よく使うXCOPY

単純に大量コピーをするときにxcopyを使うことが多い。
xcopyでよく使うパターンをbatで記録する。

@echo off

rem pushd current directory
pushd %~dp0

set src="source_dir"
set dst="destination_dir"

rem exec xcopy source to destination
rem  /E 空ディレクトリもコピー
rem  /V Verify
rem  /I 指定されたコピー先が存在せず、コピーするファイルが複数の場合、
rem     コピー先をディレクトリとしてコピーします。
rem  /Q コピー中にファイル名を表示しません。
rem  /K 属性をコピーします。指定しない場合、読み取り専用属性はリセットされます。
rem  /Y 既存のファイルを上書きする前に確認のメッセージを表示しません。
rem  /Z 再起動可能モードでネットワーク ファイルをコピーします。
call xcopy %src% %dst% /E /Q /Z /V /I /Y /K

pause

exit /b

目的に応じて、以下のオプションを使用する

option Description
/T ファイルはコピーせずにディレクトリ構造のみを作成します。空のディレクトリまたはサブディレクトリは除きます。"/T /E" と指定すると空のディレクトリやサブディレクトリも作成されます。
/U コピー先に既に存在するファイルだけをコピーします。
/J バッファーされていない I/O を使ってコピーします。サイズが大きいファイルに適しています。