2010年12月7日火曜日

WindowsのROBOCOPYコマンド使用法

■ダウンロード
(現在はOS標準コマンドとなっているのでダウンロードは不要)
Microsoft Download centerよりダウンロード

■インストール
ダウンロードしたファイルrktools.exeを実行(ダブルクリック)し展開する。
既定値ではc:\Program Files\Windows Resource Kits\Toolsに展開

■使用法
ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...] [オプション]
コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー\共有\パス)。
コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー\共有\パス)。
ファイル :: コピーするファイル (名前/ワイルドカード: 既定値は「*.*」です)

■コマンド例1
robocopy d:\public \\backup\backupdirectory\public /E /XO /LOG:d:\backuplog.log

コピー元:d:\public
コピー先:\\backup\backupdirectory\public
・サブディレクトリ(空のディレクトリを含む)をコピーする
・コピー先より古いファイルはコピーしない。(差分バックアップとなる)
・d:\にファイル名backuplog.logとしてログファイルを作成する。ファイルは前回のものに上書きする。

■コマンド例2
robocopy \\192.168.0.10\public \\192.168.0.20\backup /E /DCOPY:T

コピー元:\\192.168.0.10\public
コピー先:\\192.168.0.20\backup
・サブディレクトリ(空のディレクトリを含む)をコピーする
・コピー元、コピー先共にrobocopyコマンドを実行するPCとは別のPCの場合
・ファイルのタイムスタンプをコピーする
・ディレクトリのタイムスタンプをコピーする

■コマンド例3
robocopy \\192.168.0.10\public \\192.168.0.20\backup /mir /DCOPY:T

コピー元:\\192.168.0.10\public
コピー先:\\192.168.0.20\backup
・ディレクトリツリーをミラー化
・コピー元、コピー先共にrobocopyコマンドを実行するPCとは別のPCの場合
・ファイルのタイムスタンプをコピーする
・ディレクトリのタイムスタンプをコピーする

■コピー オプション
/S :: サブディレクトリをコピーしますが、空のディレクトリはコピーしません。
/E :: 空のディレクトリを含むサブディレクトリをコピーします。
/LEV:n :: コピー元ディレクトリ ツリーの上位 n レベルのみをコピーします。
/Z :: 再起動可能モードでファイルをコピーします。
/B :: バックアップ モードでファイルをコピーします。
/ZB :: 再起動可能モードを使用します。アクセスが拒否された場合、バックアップ モードを使用します。
/EFSRAW :: 暗号化されたすべてのファイルを EFS RAW モードでコピーします。

/COPY:コピーフラグ :: ファイルにコピーする情報 (既定値は /COPY:DAT)。
(コピーフラグ: D= データ、A= 属性、T= タイムスタンプ)。
(S= セキュリティ =NTFS ACL、O= 所有者情報、U= 監査情報)。
/DCOPY:T :: ディレクトリ タイムスタンプをコピーします。
/SEC :: セキュリティと共にファイルをコピーします (/COPY:DATS と同等)。
/COPYALL :: ファイル情報をすべてコピーします (/COPY:DATSOU と同等)。
/NOCOPY :: ファイル情報をコピーしません (/PURGE と共に使用すると便利)
/SECFIX :: スキップしたファイルも含むすべてのファイルのファイル セキュリティを修正します。
/TIMFIX :: スキップしたファイルも含むすべてのファイルのファイル時刻を修正します。
/PURGE :: 既にコピー元に存在しないコピー先のファイル/ディレクトリを削除します。
/MIR :: ディレクトリ ツリーをミラー化します (/E および /PURGE と同等)
/MOV :: ファイルを移動します (コピー後にコピー元から削除)。
/MOVE :: ファイルとディレクトリを移動します (コピー後にコピー元から削除)。
/A+:[RASHCNET] :: コピーされたファイルに指定の属性を追加します。
/A-:[RASHCNET] :: コピーされたファイルから指定の属性を削除します。
/XO :: コピー先より古いファイルをコピー対象から除外します。

■ログ オプション:
/L :: リストのみ - いずれのファイルにも、コピー、タイムスタンプの追加、または削除を実施しません。
/X :: 選択されたファイルのみではなく、余分なファイルをすべて報告します。
/V :: スキップされたファイルを示す詳細出力を作成します。
/TS :: 出力にコピー元ファイルのタイム スタンプを含めます。
/FP :: 出力にファイルの完全なパス名を含めます。
/BYTES :: サイズをバイトで出力します。
/NS :: サイズなし - ファイル サイズをログに記録しません。
/NC :: クラスなし - ファイル クラスをログに記録しません。
/NFL :: ファイル リストなし - ファイル名をログに記録しません。
/NDL :: ディレクトリなし - ディレクトリ名をログに記録しません。
/NP :: 進行状況なし - コピーの完了率を表示しません。
/ETA :: コピーするファイルの推定完了時刻を表示します。
/LOG:ファイル :: ログ ファイルに状態を出力します (既存のログを上書きします)。
/LOG+:ファイル :: ログ ファイルに状態を出力します (既存のログ ファイルに追加します)。
/UNILOG:ファイル :: ログ ファイルに UNICODE で状態を出力します (既存のログを上書きします)。
/UNILOG+:ファイル :: ログ ファイルに UNICODE で状態を出力します (既存のログに追加します)。
/TEE :: コンソール ウィンドウとログ ファイルに出力します。
/NJH :: ジョブ ヘッダーがありません。
/NJS :: ジョブ概要がありません。
/UNICODE :: 状態を UNICODE で出力します。

関連エントリー
ROBOCOPYコマンドを使用したバックアップをタスクスケジューラで自動化



0 件のコメント :

コメントを投稿