3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

ドライブ丸ごとrobocopyする際の注意

バックアップ対象ドライブのパス指定

robocopyでドライブまるごとバックアップしようとしたんですが、エラーに。。。 原因はパスの表記でした。最初末尾に \ を入れてたんですが、これだとNGのようです。 バックアップ対象パスを以下のように \ なしに修正したら動きました。

D:\ →誤
D:  →正

[System Volume Information]と[$RECYCLE.BIN]の除外

ドライブ丸ごとコピーとなると、System Volume Information と $RECYCLE.BIN は除外しないといけません。 /XD オプションで除外フォルダを指定できますが、$RECYCLE.BIN の場合、エスケープ(`)が必要です。

 /XD "System Volume Information" "`$RECYCLE.BIN"

フォルダのタイムスタンプ

robocopyで配下にファイルがあるフォルダをコピーすると、バックアップ先のフォルダのタイムスタンプがバックアップ元と異なる物になるケースがあります。 詳細は Robocopyコマンド: /DCOPY:DATのすすめ を見ていただくと原理がわかかります。 フォルダのタイムスタンプをコピーするためには、 /DCOPY:DAT をつけるといいようです。

上記まとめると、こんな感じのコマンドになりますかね。

robocopy "D:" "E:\dst" /MIR /DCOPY:DAT /R:2 /W:5   /XD "System Volume Information" "`$RECYCLE.BIN"