PR PR

robocopyでxcopyより手堅くコピーする方法

スポンサーリンク
新着情報
2023.04.09
2023.04.06
2023.04.03
2023.03.19
スポンサーリンク
スポンサーリンク

この記事は2013年7月15日の1年以上前に書かれたものです。現在は状況が異なる可能性がありますのでご注意ください。

記事内に広告が含まれています。

以前、

スポンサーリンク

スポンサーリンク

xcopyにてのデータ転送・コピー方法を投稿しました。

NAS転送速度 xcopyにてデータ転送・コピーを高速に行う方法

ですが、
いろいろ調べてみると…。

やはり、

robocopyコマンドの方が、有用性が高く便利なのかなぁ。

と感じ始めました。

そこで、
ちょっと勉強することに…。

勉強というか調べてみただけですがσ(^_^;)...

コマンドプロンプトを立ち上げ、
robocopy?
と入力してEnter押下してみると…。

こんな感じで、
ずらーっと、
コマンドオプションが表示されます。

『参考URL』
コマンドプロンプト 標準コマンド

また、

robocopyコマンドの有用性としては以下が挙げられます。

  1. ミラーリング(差分コピーと同じです)
  2. エラーを無視してコピー
  3. コピー先のいらないファイルを削除するのみ
  4. 古いファイルはコピーしない
  5. NASにコピーする←今回これを利用。
  6. コピーではなく移動する
  7. Microsoftの純正コマンドなので安心
  8. 差分コピー(ミラーリングと同じです)

などなど…。

他にも有用性特徴)は挙げられると思いますが、
現段階で私自身が確認できるのは以上くらいです。

もっと知識のある方は、
様々なオプション設定によってもっと有用性を駆使して使用されるのでしょう。

ですが、

基本的な使い方としてはそこまで知識はいらずに済んでしまいます。

【基本的な記述の仕方】

使用法
robocopy コピー コピー /MIR などのオプション

※コピー元とコピー先を間違わなければxcopyに記述方法はほぼ同じです。
※コピー元とコピー先を逆にしてしまうとコピー元が消えてしまいますので注意です!! 

『私の場合のrobocopyコマンド記述内容』

robocopy D: Z:Dドライブバックアップ /MIR /XO /XA:SH /NP /NDL /R:0 /W:0 /TEE /XJD /XJF /XD "$RECYCLE.BIN" "System Volume Information" /LOG:"d:バックアップログbackup.log"

私が、
NAS上ドライブ(ネットワークドライブ)にて使用したrobocopyコマンドとオプションは以上。

※すべて1行です。

【使用したオプション内容】

  • /MIR:ミラーリング
  • /XO:改変がないファイルを除外(古いファイルを除外する)
  • /XA:SH:ドライブ丸ごとの場合、
  • コピー出来ないシステムファイル等がある場合はエラーになるので、               これを追記することで隠しファイルとシステムファイルを除外するようにします。

  • /NP:進行状況なし - コピーの完了率を表示しません。
  • /NDL:ディレクトリなし - ディレクトリ名をログに記録しません。
  • /R:エラー時のリトライの回数⇒(/R:0=0回)
  • /W:エラー時リトライ開始までの待ち時間⇒(/W:0=0秒)
  • /TEE:バックアップの結果をコマンドプロンプトとログファイルの両方に出力します。
  • /XJT:ディレクトリの接合ポイントを除外します。
  • /XJFファイルの接合ポイントを除外します
  • /XD指定された名前/パスに一致するディレクトリを除外します。
  • 例)"$RECYCLE.BIN" "System Volume Information"⇒(除外したい隠しファイル)

  • /LOG:”ログを出力したいパス”
  • /FFT : FAT ファイル時間 (2 秒の粒度) を仮定します。

robocopyコマンド実行終了後画像

画像の赤枠内に、
実行された内容が表示されます。

他に、
ログファイルを残すようにコマンドを入力しているので、
同じ内容のものがbackup.logとして残されています。

その他オプション詳細内容

【コピーオプション】

                 /S :: 空でないサブフォルダをコピーする
/E :: 空のものも含めてサブフォルダをコピーする
/LEV:n :: ソースフォルダツリーの中の上位nレベルのみをコピーする

/Z :: 再開可能(restartable)モードでファイルをコピーする
/B :: バックアップモードでファイルをコピーする
/ZB :: 可能なら再開可能モードで不可ならバックアップモードを使う

/COPY:copyflag[s] :: copyflagで指定されたファイル情報をコピーする(デフォルトは /COPY:DAT)
D : データ A : 属性 T : タイムスタンプ
S : セキュリティ情報(NTFSのACL) O=所有者情報 U=ファイル監査情報

/SEC :: セキュリティもコピーする (/COPY:DATSと同じ)
/COPYALL :: すべてのファイル情報をコピーする(/COPY:DATSOUと同じ)
/NOCOPY :: ファイル情報をコピーしない (/PURGEと一緒に使える)

/PURGE :: コピー元にないファイル・フォルダを削除する
/MIR :: ミラーリングコピーする (/Eと/PURGEを指定したのと同じ)

/MOV :: ファイルを移動する (コピー後にコピー元から削除する)
/MOVE :: ファイルとフォルダを移動する(コピー後にコピー元から削除する)

/A+:[RASHNT] :: コピーされたファイルに与えられた属性を加える
/A-:[RASHNT] :: コピーされたファイルから与えられた属性を削除する
R : Read only S : System N : Not content indexed
A : Archive H : Hidden T : Temporary

/CREATE :: フォルダツリーと0バイトのファイルを作るのみ
(データはコピーされない)
/FAT :: コピー先ファイルを8.3形式のファイル名で作成する
/FFT :: FATタイムスタンプ(精度2秒)であると見なす
/256 :: 非常に長いパス(256文字以上)のサポートをオフにする

/MON:n :: コピー元を監視,n回以上の変更があったら再実行する
/MOT:m :: コピー元を監視,m分後に変更があったら再実行する

/RH:hhmm-hhmm :: コピー開始できる時間帯を指定します
/PF :: 処理単位ではなくファイル単位で実行時間帯のチェックをする
/IPG:n :: 遅い回線の帯域を確保するためパケット間にnミリ秒のギャップを挿入する

【ファイル選択オプション】

 /A :: Archiveビットがセットされているファイルのみをコピーする
/M :: Archiveビットがセットされているファイルのみをコピーし
ビットをリセットします。
/IA:[RASHCNETO] :: 指定された属性がセットされているファイルのみを含む
/XA:[RASHCNETO] :: 指定された属性がセットされているファイルを除外する

/XF file [file]... :: 指定されたファイル名(パス,ワイルドカード)と一致するファイルを除外する
/XD dirs [dirs]... :: 指定されたフォルダ名(パス)と一致するフォルダを除外する



/XC :: Changedファイルを除外する
/XN :: Newerファイルを除外する
/XO :: Olderファイルを除外する
/XX :: Extraファイルとフォルダを除外する
/XL :: Lonelyファイルとフォルダを除外する
/IS :: Sameファイルを含む
/IT :: Tweakedファイルを含む

/MAX:n :: nバイトより大きいファイルを除外する
/MIN:n :: nバイトより小さいファイルを除外する

/MAXAGE:n :: 指定日よりも古いファイルを除外する
/MINAGE:n :: 指定日よりも新しいファイルを除外する
/MAXLAD:n :: 指定日以降に使われていないファイルを除外する
/MINLAD:n :: 指定日以降に使われているファイルを除外する
nの指定は,nが1900以下の時はnは現在からさかのぼる日数。nがYYYYMMDD形式ならその日付

/XJ :: 境界値を含まない (デフォルトでは境界値を含む)

【リトライオプション】

               /R:n :: コピーに失敗したときにリトライする回数。デフォルトは1000000
/W:n :: リトライの間にウェイとする秒数。デフォルトは30秒

/REG :: /R:n と /W:n オプションをレジストリに初期値として保存する

/TBD :: wait for sharenames To Be Defined (retry error 67).

【ログオプション】

                 /L :: ファイルのリストを表示するのみ。ファイルのコピーなどはしない
/X :: report all eXtra files, not just those selected.
/V :: produce Verbose output, showing skipped files.
/TS :: ソースファイルのタイムスタンプを出力に含む
/FP :: ファイルのフルパス名を出力に含む

/NS :: ファイルサイズをログに出力しない
/NC :: ファイルクラス(New File, Newer, Olderなど)をログに出力しない
/NFL :: ファイル名をログに出力しない
/NDL :: フォルダ名をログに出力しない

/NP :: 進捗を表示しない(%コピーという表示をしない)
ログファイルに記録するときはこれを指定した方がよい
/ETA :: コピーに要する推定時間を表示する

/LOG:file :: ログファイルに出力する(存在するファイルには上書き)
/LOG+:file :: ログファイルに出力する(存在するファイルには追加)

/TEE :: ログファイルと同じようにコンソールにも出力する

/NJH :: ジョブヘッダを出力しない
/NJS :: ジョブサマリを出力しない

【ジョブオプション】

 /JOB:jobname :: jobnameで指定されたファイルからパラメータを得る
/SAVE:jobname :: jobnameで指定されたファイルにパラメータを保存する
/QUIT :: コマンドラインの解析をした後に終了する(パラメータを表示する)
/JOBと一緒に使うとジョブファイルの内容を表示する
/NOSD :: コピー元が指定されないと断言します。
コピー元が実行時で提供されるテンプレートジョブに役立つ。
/NODD :: コピー先が指定されないと断言します。
コピー先が実行時で提供されるテンプレートジョブに役立つ。
/IF :: 指定された名前のファイルをインクルードする。ジョブファイルでのみ使う

『参照サイト』

『私の場合のrobocopyコマンド記述内容』

robocopy D: Z:Dドライブバックアップ /MIR /XO /XA:SH /NP /NDL /R:0 /W:0 /TEE /XJD /XJF /XD "$RECYCLE.BIN" "System Volume Information" /LOG:"d:バックアップログbackup.log"

スポンサーリンク
タイトルとURLをコピーしました