バックアップするノのアイコン

バックアップするノ 使い方 - フィルター

フィルターって何?

フィルターは、バックアップするノで使用するテキストファイルです。正しい書式で記述すると、バックアップ対象のファイルを細かく指定することができます。

フィルターを設定するには?

フィルターは、バックアップタスク作成、変更画面の下端で指定します。参照ボタンを押すと、「開く」画面でフィルターファイルを対話的に選択できます。

バックアップするノ、バックアップタスク変更画面、フィルターの設定

確認ボタンを押すと、フィルターファイルの読み込み結果を表示させることができます。

バックアップするノ、フィルター確認画面

¥ について

バックスラッシュ (\) は日本語 Windows では、¥ と表示されることが多いです。また、バックスラッシュはスラッシュ (/) と似ていますが、傾きの方向が違います。混同しないように注意してくださいね。

※ 正確には、フォントによって変わりますが、ディフォルトの状態では ¥ で表記されると思います。半角のバックスラッシュと円記号は同じ文字コードなので、プログラム的には同じ文字として扱われます。以降の説明でバックスラッシュが表示されている場合、¥ のことだと、思ってください。

除外フィルターの例

おそらく例で説明した方が早いので、まずは除外するファイルを指定する例です。

- ^backup/$

バックアップ元のフォルダー直下にある backup フォルダーを除外するフィルターファイルの例です。行頭の - は除外を表し、空白文字に続けて除外するファイルのパターンを 正規表現 で表します。^ は、マッチ対象の先頭を表します。^ が無い場合、backup で終わる全てのフォルダーにマッチします。/ はパスの区切りを表します。Windows では、パスの区切り文字は \ で表わすので、バックアップするノでもそうです。ただし、 バックアップするノの正規表現では、/\ と見なす機能があるので、rsync のように / が使えます。\ は正規表現では \\ と記述する必要があるので、/ の方が便利です。

最後に、$ は末尾を表します。バックアップするノでは、フォルダーは \\ で終わるパスで表現されるので、/$ は明示的にフォルダーを指定するのに使えます。

フィルターの優先度1 - フォルダー階層

フィルターは、フォルダーに適用された後、その子に適用されます。なので、フォルダーが除外された場合、子孫のフォルダーやファイルは全てコピーされません。上の例では、backup の子孫のファイルやフォルダーは、バックアップ対象とはならず、フィルター処理も走りません。また、現在のところ、バックアップ対象ファイルやフォルダーを含まないフォルダーはコピーされません。すなわち、空フォルダーは作成されません。

フィルターの優先度2 - 行

各フォルダー、ファイルパスは、上の行のフィルターからマッチが行われ、マッチした時点で終了します。フィルターファイルを指定していない場合に、全てバックアップ対象となることからわかるように、マッチする行が無い場合は、バックアップ対象となります。

正規表現の例外

/\ を表します。\正規表現 では、\\ と表す必要がありますが、\ を使うと1文字で済みます。バックアップするノで採用している正規表現は「普通」のものですが、/\\ と見なすことだけが例外です。

この拡張機能を知らなくても、 \\\ で表せばよいので、普通の正規表現と理解していても問題ありません。また、/ でパスの区切りを表す機能は rsync とも共通しているので、逆にわかりやすい拡張だと思います。

選択的フィルターの例

必要なファイルを 正規表現 で表し、それ以外をバックアップしない記述例です。拡張子が h のファイル (末尾が .h のファイル) を全てコピーする例を用意しました。

+ /$
+ \.h$
- .

逆に、最後の行から説明します。最後の行は、全てのファイルやフォルダーを除外するコードです。正規表現の . は任意の 1 文字を表します。ファイルパスは必ず 1 文字以上なので、全てのパスがマッチします。結果、より上の行のパターンでマッチしなかったファイルやフォルダーは全て除外されます。

2 行目では、拡張子が h のものをバックアップ対象として選択しています。正規表現では .\. と表します。. は特殊な意味を持つためです。\ はその後に続く文字の「特殊な意味を打ち消す」効果があります

※ このことを、プログラミング用語で、エスケープすると言います。\ 自体も特殊な意味を持つので、\ 文字を表すには \\ と記述します。

最初の行は、全てのフォルダーをバックアップ対象とするコードです。上で説明したように、フォルダーが除外されると、子孫のファイルは全くコピーされなくなるためです。

コメントの例

# .h (ヘッダーファイル) のみをコピーします!!
+ /$
+ \.h$
- .

# で行を始めると、コメント(自分用のメモ)と見なされ、無視されます。また、空行 (半角スペース、タブのみの行) も無視されます。

まとめ

今すぐ、無料ダウンロード

バックアップするノ ダウンロード

ご意見・ご要望など

ご意見・ご要望などは フォームメール から送信してください。
更新情報は、 ブログ でも配信してます。

共有