VBScriptでファイル、フォルダを正規表現を使って振り分ける
以前UWSCでキーワードにマッチしたファイル、フォルダを振り分けるを書いたけど、そのVBScript版を書いた。
UWSCはキーワードにワイルドカードを使ってファイル、フォルダの数を検索できるけれど
WSHだと出来なさそうなので、面倒くさいけど正規表現でやった。
その代わり、UWSCの方はまとめて移動させていたので、移動先に一つでも同名のものがあると
そのキーワードでの移動はしないで次に移っていたけれど
こっちはキーワードで個別にチェックするので、移動先に同名ファイル、フォルダがあっても
終了せずにそのまま移動を続けるという良い意味での副作用があった。
UWSCのと同様、移動先が存在しない場合は勝手にフォルダを作成。
設定ファイルの内容はUWSC版と一緒で キーワード[カンマ]移動元パス[カンマ]移動先パス 正規表現に詳しくないので、簡単な例しか挙げられないけど 頭にaが付くテキストファイルをaaaからbbbに移動。 名前にbbを含んでいるdatファイルをcccからdddに移動の場合 ^a.*\.txt,C:\aaa,C:bbb bb.*\.dat,C:\ccc,C:\ddd
設定ファイルの名前、拡張子は適当に(拡張子は無くても構わない)
その設定ファイルを、下記のvbsファイルがあるディレクトリに
"user"というフォルダを作成して、その中に置く。(名前を変更する場合は2行目の"user"を変更)
パラメータにそのファイル名をつけて下記のvbsファイルを起動すると
そのファイルの設定で振り分けを開始。
パラメータが無い場合は設定ファイルを選択するダイアログが出るから、それで設定ファイルを選択。
注意する点
拡張子を指定しないキーワードの場合、マッチしていたらファイルもフォルダも見境なく振り分ける。
5、6回しかテストしてないので何が起こるかわからない。