ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

かゆいところに手が届かないVBScript。。

二つのフォルダを指定するとフォルダ再帰で、

  • どっちかにしかないファイルの検出
  • どっちにもあるファイルに対しては、Revision行を無視した比較を行い、差異があるかどうかだけ出力する

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