かゆいところに手が届かないVBScript。。
二つのフォルダを指定するとフォルダ再帰で、
- どっちかにしかないファイルの検出
- どっちにもあるファイルに対しては、Revision行を無視した比較を行い、差異があるかどうかだけ出力する
というツールをVBScriptで作っていました。
が、とあるユーザから、「なんか全部こっちにしかないって出るよ!」とクレームが付いてしまいました。
調べてみたところ、ファイル一覧やフォルダ一覧を取得するところで、小文字→大文字の優先度で取得していることが判明。二つのフォルダのファイル名を順番にマージソート的に処理していたのですが、比較処理はASCIIコード的には大文字→小文字の順番となるため、互い違いになっていたというオチだったようです。
そんなわけで、Scripting.FileSystemObjectのAPIを調べてみるも、ファイル一覧を逆順に取得したりする機能はなさそう。たまたま小文字のファイルは比較に影響がなかったため、除外してもらうことで回避してもらいました。
Javaだったら、フィルタもかけられるし、ソートも簡単に出来るのだけどなぁ。まあ、そこをなんとかするのがプロってもんなんでしょうけど。