まとめてコピーはしたいけど、このフォルダはいらない。このファイルはいらない。などといったときに使えます。
このエントリはRobocopyのオプションで除外していますが、別の観点からフォルダを除外してコピーする方法もあります。
-
【Robocopy】ドライブを指定せずにドライブをまるごとバックアップする!フォルダ除外も可能!
改めてタイトルをみるとなんのこっちゃという感じですね。 下で説明しますが、備忘録がてらスクリプトを作成したのでメモしておきます。ファイルサーバのデータ移行のときに使い回せるといいなぁ。 ...
オプションの説明と使い方の例
ファイルを除外する場合
以下のオプションを使用します。
/xf FILENAME
FILENAME にはファイル名を指定します。正規表現は、* と ? のみ使用できるようです。実は technet に記載があったのですが、以下を試したところやっぱり認識せず記載の通りでした。
^ … 先頭と一致
$ … 末尾と一致
+ … 直前と1回以上一致
[abc] … a/b/c のいずれかに一致
フォルダを除外する場合
以下のオプションを使用します。
/xd FOLDERNAME
FOLDERNAME にはフォルダ名を指定します。ワイルドカードに関してはファイルの除外(/xf)と同じです。こちらは technet にはワイルドカードに関して自体の記載がなかったのですが、使用できました。ファイル指定の場合と同じだから記載しなかっただけのようですね。
使い方
特定のファイルを除外する場合
以下のように指定することで、拡張子が .tmp のファイルはコピーされなくなります。
1 |
> Robocopy $Source $Dest /xf *.tmp |
特定のフォルダを除外する場合
以下のように指定することで、abcフォルダはコピーされなくなります。/mir オプションを付けているのは、付けないとそもそもフォルダがコピーされないため。
1 |
> Robocopy $Source $Dest /mir /xd abc |
以上です。
↓↓↓ Powershell のおすすめレシピ ~結局はオライリー~