まず、比較したいファイルですが、大体次のようなモノです。
-------------------- ここから --------------------
2012/05/09 Program Start.
2012/05/09 X=1.2
2012/05/09 Y=5
-------------------- ここまで --------------------
各行頭の日付部分は実行するたびに異なり、その後ろの部分は実行するたびに変わったり変わらなかったりします。
で、やりたいのは「先頭の日付の違いを無視して、各行の日付より後の部分だけ比較する」ってことです。例えば、上のファイルと下のファイルを比較した場合に「2行目が異なる」と表示して欲しいです。
-------------------- ここから --------------------
2012/05/07 Program Start.
2012/05/07 X=-0.3
2012/05/07 Y=5
-------------------- ここまで --------------------
日付部分の長さは固定なので「行頭X文字の違いは無視する」って設定が可能ならそれでOKです。「正規表現でパターンマッチングして、マッチした部分は無視」とかっていう大げさな機能はいりません(あっても別に構いませんが)。
なお、Windows 7 Home Premium x64で動くものを紹介して下さい。
興味持ったので調べてみました。
DFの詳細情報 : Vector ソフトを探す!
が使えます。
オプション設定で開始桁を11に設定しておき、2つのファイルを比較すれば差分のある行だけが色つきで表示されます。
ご参考になれば幸いです。
使ったわけではありませんが、GUIだとこういうのありました。
http://www.vector.co.jp/soft/win95/util/se475936.html
・CSV以外に固定長の区切り指定が可能。定義の保存、呼び出し可。
あとは、wshとかで行頭を削って、とかでしょうか。
先頭11文字を取り除くのはRight関数つかって
strVal= Right(strVal, Len(strVal) - 11)
とかですかね。
対象は違いますが、テンポラリファイルに保存してFCで比較してるのを参考として。
こちら使うとテンポラリファイルは必要なくなりそうです。
あと、素のコード。バグとかは知りませんが。
あと、いっそdiffとsed入れるって手もあるかもしれません。
色々と教えて下さりありがとうございます。
当面はdiffソフト単体で完結させたいので、kumonoyouniさんご紹介のソフトを使う事にします。
コマンドラインで比較する場合はdiffとsedが便利そうですので、そちらも検討してみます。
興味持ったので調べてみました。
DFの詳細情報 : Vector ソフトを探す!
が使えます。
オプション設定で開始桁を11に設定しておき、2つのファイルを比較すれば差分のある行だけが色つきで表示されます。
ご参考になれば幸いです。
ビンゴです!まさにこれです!!
比較するファイルに応じて設定を毎回変えるのは面倒ですので、DFとRekisaの二刀流で行こうと思います。
ご回答ありがとうございました。
ビンゴです!まさにこれです!!
2012/05/10 20:47:03比較するファイルに応じて設定を毎回変えるのは面倒ですので、DFとRekisaの二刀流で行こうと思います。
ご回答ありがとうございました。