(57)【特許請求の範囲】
【請求項１】
比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順またはファイル名の所定位置から所定文字数分の部分文字列の順のいずれか１つに従ったソートルールの指定を受け付け、
前記第一のディレクトリの配下に含まれる複数のファイルを前記ソートルールの順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルを前記ソートルールの順でソートした場合にＮ番目に対応するファイルの内容とを比較し、
比較結果を出力する
処理をコンピュータに実行させることを特徴とする比較プログラム。
【請求項２】
前記ファイル名の順に従ったソートルールは、ファイル名の昇順または降順のソートであり、前記ファイル名の所定位置から所定文字数分の部分文字列の順に従ったソートルールは、前記部分文字列の昇順または降順のソートである
ことを特徴とする請求項１に記載の比較プログラム。
【請求項３】
コンピュータが、
比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順またはファイル名の所定位置から所定文字数分の部分文字列の順のいずれか１つに従ったソートルールの指定を受け付け、
前記第一のディレクトリの配下に含まれる複数のファイルを前記ソートルールの順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルを前記ソートルールの順でソートした場合にＮ番目に対応するファイルの内容とを比較し、
比較結果を出力する
各処理を実行することを特徴とする比較方法。
【請求項４】
比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順またはファイル名の所定位置から所定文字数分の部分文字列の順のいずれか１つに従ったソートルールの指定を受け付ける受付部と、
前記第一のディレクトリの配下に含まれる複数のファイルを前記ソートルールの順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルを前記ソートルールの順でソートした場合にＮ番目に対応するファイルの内容とを比較する比較部と、
比較結果を出力する出力部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、比較プログラムなどに関する。
【背景技術】
【０００２】
企業等で業務に利用されているシステムがリプレースされる場合、リプレースの前後で業務が継続される必要がある。このため、リプレース作業では、リプレース前の旧システムで処理された結果である出力物と、リプレース後の新システムで同じ処理対象に対して同等の処理がされる結果である出力物とを比較し、両者が一致していることを確認する作業が必要である。ここで、業務処理の結果として出力されるデータには、帳票やデータベース（ＤＢ：database）などのほかに、ログファイルなどの処理記録に関するデータも含まれる。
【０００３】
新旧システムにおいて、ファイル識別情報としてファイル名が一致しているファイル同士を比較対象に設定する技術が知られている（特許文献１および特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３４６８７５号公報
【特許文献２】特開２００９−１７６０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、処理の結果として生成されたディレクトリ配下に、処理の結果として生成された複数のファイルが存在する状態で、新旧システムにおいてディレクトリを指定して比較する場合がある。かかる場合に、ファイル名が一致していない場合、新旧システムにおいて比較対象を自動的に設定することが困難であるという問題がある。
【０００６】
例えば、リプレースが行われる場合、旧システムから新システムに引き継がれる業務については、旧システムと同等の機能が新システムにも存在する。機能が同等であれば、処理結果として更新されるデータベース（ＤＢ：database）の内容などは同一となるはずである。
【０００７】
ところが、機能が同等であるとはいえ、リプレースされたのであれば当然ながらハードウェア、ソフトウェアともに何らかの変更がなされているはずである。この結果、同等の機能を実現するための細かな処理が新旧システムで異なる場合もある。この場合、複数種類のログが出力される順序は変わらなくても、出力されるタイミングが新旧システムで一致しないことが考えられる。
【０００８】
また、何らかの検証の際に利用されるログファイルでは、ファイル名が、出力された日時を示す数字や文字で付与されることが多い。検証時に特定の時間のログファイルを参照しやすいからである。したがって、出力されるタイミングが異なれば、新旧システムでファイル名が一致しないことが考えられる。新旧システムでファイル名が一致しない場合、比較対象を自動的に設定できない。
【０００９】
１つの側面では、新旧システムにおいてディレクトリ配下のファイル同士を比較する際に、ファイル名が一致していない場合であっても、比較対象を自動的に設定することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する比較プログラムは、比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順に従ったソートルールの指定を受け付け、前記第一のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容とを比較し、比較結果を出力する処理をコンピュータに実行させる。
【発明の効果】
【００１１】
１つの態様によれば、新旧システムにおいてディレクトリ配下のファイル同士を比較する際に、ファイル名が一致していない場合であっても、比較対象を自動的に設定できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図２】図２は、実施例に係る比較元ファイル名テーブルのデータ構造の一例を示す図である。
【図３】図３は、実施例に係る比較先ファイル名テーブルのデータ構造の一例を示す図である。
【図４】図４は、ソートなし比較を説明する図である。
【図５】図５は、ソートあり比較を説明する図である。
【図６】図６は、ソートなし比較の具体例を示す図である。
【図７】図７は、ソートあり比較の具体例を示す図である。
【図８】図８は、実施例に係る比較処理の全体のフローチャートを示す図である。
【図９Ａ】図９Ａは、ソートなし比較処理のフローチャートを示す図（１）である。
【図９Ｂ】図９Ｂは、ソートなし比較処理のフローチャートを示す図（２）である。
【図１０】図１０は、ソートあり比較処理のフローチャートを示す図である。
【図１１】図１１は、ソートなし比較のテーブルの遷移を示す図である。
【図１２】図１２は、ソートあり比較のテーブルの遷移を示す図である。
【図１３Ａ】図１３Ａは、結果出力の一例を示す図（１）である。
【図１３Ｂ】図１３Ｂは、結果出力の一例を示す図（２）である。
【図１４】図１４は、比較プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する比較プログラム、比較方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
［実施例に係る情報処理装置の構成］
図１は、実施例に係る情報処理装置の構成を示す機能ブロック図である。実施例に係る情報処理装置１は、２つのディレクトリ配下の複数のファイルを比較する際に、ファイル名の順に従ったソートルールにより２つのディレクトリ配下のファイルをそれぞれソートする。情報処理装置１は、２つのディレクトリ配下のファイルをそれぞれソートした結果、先頭のファイルから順に対応付け、対応付けたファイル同士を比較対象として比較処理を行う。かかる２つのディレクトリ配下の複数のファイルの比較は、例えば、システムリプレイスの場面において、現行の資産と新規の資産との比較検証をサポートする際に行われる。
【００１５】
図１に示すように、情報処理装置１は、制御部１０および記憶部２０を有する。
【００１６】
記憶部２０は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部２０は、比較元ファイル群２１、比較先ファイル群２２、比較元ファイル名テーブル２３、比較先ファイル名テーブル２４および結果出力ファイル２５を有する。
【００１７】
比較元ファイル群２１は、比較元のディレクトリ配下の複数のファイルである。比較先ファイル群２２は、比較先のディレクトリ配下の複数のファイルである。
【００１８】
比較元ファイル名テーブル２３は、比較元のディレクトリ配下における複数のファイルのファイル名をそれぞれ比較先のディレクトリ配下におけるファイルとの比較結果とともに記憶する。なお、比較元ファイル名テーブル２３は、後述するソートなし比較部１４またはソートあり比較部１５によって生成される。ここで、比較元ファイル名テーブル２３のデータ構造について、図２を参照して説明する。
【００１９】
図２は、実施例に係る比較元ファイル名テーブルのデータ構造の一例を示す図である。図２に示すように、比較元ファイル名テーブル２３は、Ｎｏ２３ａ、比較元ファイル名２３ｂおよび比較結果２３ｃを対応付けて記憶する。Ｎｏ２３ａは、比較元ファイル名２３ｂに対して一意に付けられる識別番号である。Ｎｏ２３ａは、例えば、１から順番にシーケンシャルに設定される。比較元ファイル名２３ｂは、比較元のディレクトリ配下に存在する比較元ファイルのファイル名である。比較結果２３ｃは、比較元ファイルと比較先ファイルとの比較結果を示す。比較結果２３ｃには、例えば、差異がないことを示す「一致」、差異があることを示す「不一致」、比較対象のファイルがないことを示す「比較対象なし」が設定される。
【００２０】
図１に戻って、比較先ファイル名テーブル２４は、比較先のディレクトリ配下における複数のファイルのファイル名をそれぞれ比較元のディレクトリ配下におけるファイルとの比較結果とともに記憶する。なお、比較先ファイル名テーブル２４は、後述するソートなし比較部１４またはソートあり比較部１５によって生成される。ここで、比較先ファイル名テーブル２４のデータ構造について、図３を参照して説明する。
【００２１】
図３は、実施例に係る比較先ファイル名テーブルのデータ構造の一例を示す図である。図３に示すように、比較先ファイル名テーブル２４は、Ｎｏ２４ａ、比較先ファイル名２４ｂおよび比較結果２４ｃを対応付けて記憶する。Ｎｏ２４ａは、比較先ファイル名２４ｂに対して一意に付けられる識別番号である。Ｎｏ２４ａは、例えば、１から順番にシーケンシャルに設定される。比較先ファイル名２４ｂは、比較先のディレクトリ配下に存在する比較先ファイルのファイル名である。比較結果２４ｃは、比較先ファイルと比較元ファイルとの比較結果を示す。比較結果２４ｃに設定される内容は、比較元ファイル名テーブル２３の比較結果２３ｃと同様であるので、その説明を省略する。
【００２２】
図１に戻って、結果出力ファイル２５は、比較元のディレクトリおよび比較先のディレクトリ毎に、比較結果、比較ファイル数、不一致ファイル数および比較ファイル選択ルールを対応付けて記憶する。比較結果は、ディレクトリ内の複数のファイルにおけるトータルの比較結果のことをいう。比較ファイル数は、ディレクトリ内の比較処理により比較されたファイルの数のことをいう。不一致ファイル数は、ディレクトリ内の不一致となったファイルの数のことをいう。比較ファイル選択ルールは、比較元および比較先のそれぞれのディレクトリ内のファイル同士の突合せルールのことをいう。
【００２３】
ファイル同士の突合せルールには、一例として、ファイルをファイル名で昇順にソートした結果先頭のファイルから順に突き合わせるという「ファイル名昇順」、ファイルをファイル名で降順にソートした結果先頭のファイルから順に突き合わせるという「ファイル名降順」がある。また、比較ファイル選択ルールには、別の例として、ファイル名が一致したファイル同士を突き合わせるという「ファイル名一致」がある。なお、結果出力ファイル２５の一例は、後述するものとする。
【００２４】
制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部１０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路の電子回路に対応する。または、制御部１０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路に対応する。さらに、制御部１０は、入力部１１、初期化部１２、判定部１３、ソートなし比較部１４、ソートあり比較部１５および結果出力部１６を有する。なお、入力部１１は、受付部の一例である。ソートあり比較部１５は、比較部の一例である。結果出力部１６は、出力部の一例である。
【００２５】
入力部１１は、比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順に従ったソートルールを受け付ける。ソートルールには、ファイル同士の突合せルールの一例である「ファイル名昇順」、「ファイル名降順」がある。なお、ソートルールが省略された場合には、ファイル同士の突合せルールは、デフォルトとして「ファイル名一致」であるものとする。
【００２６】
例えば、入力部１１は、比較コマンドの入力を受け付ける。比較コマンドは、比較コマンド名のほか、引数として、比較元ディレクトリ名、比較先ディレクトリ名を含む。さらに結果出力先を含んでもよい。比較コマンド名は、あらかじめ定められた比較処理に係るコマンドの名称である。比較元ディレクトリ名は、比較元ファイル群２１のディレクトリの名称である。比較先ディレクトリ名は、比較先ファイル群２２のディレクトリの名称である。結果出力先は、比較結果ファイル２５の出力先のディレクトリである。さらに、比較コマンドは、ソートルールが指定される場合、オプションの引数として、ソートルールがわかる符号を含むものとする。ソートルールがわかる符号は、一例として、「ファイル名昇順」の場合には「−ｓ」、「ファイル名降順」の場合には「−ｋ」を用いることができる。
【００２７】
初期化部１２は、比較コマンドを実行するために用いられる制御データや変数を初期化する。初期化部１２は、比較コマンドを解析する。なお、初期化部１２は、比較コマンドの引数のチェックを行っても良い。
【００２８】
判定部１３は、初期化部１２の解析の結果、比較コマンドのオプションにソートルールの指定があるか否かを判定する。判定部１３は、比較コマンドのオプションにソートルールの指定がない場合には、後述するソートなし比較部１４に、ディレクトリ配下の複数のファイルをソートしないで比較処理を実行させる。また、判定部１３は、比較コマンドのオプションにソートルールの指定がある場合には、後述するソートあり比較部１５に、ディレクトリ配下の複数のファイルをソートしたうえで比較処理を実行させる。
【００２９】
ソートなし比較部１４は、ディレクトリ配下の複数のファイルをソートしないで比較処理を実行する。すなわち、ソートなし比較部１４は、比較元ディレクトリの配下に含まれる複数のファイルおよび比較先ディレクトリの配下に含まれる複数のファイルに対して、ファイル名が一致したファイル同士を突き合わせて比較処理を実行する。そして、ソートなし比較部１４は、比較元ファイル名テーブル２３に、比較元ディレクトリの配下に含まれるファイル毎にファイル名と比較結果を格納する。ソートなし比較部１４は、比較先ファイル名テーブル２４に、比較先ディレクトリの配下に含まれるファイル毎にファイル名と比較結果を格納する。なお、ファイル同士の比較処理は、例えば、ファイル同士の比較を行うための「ｄｉｆｆコマンド」のアルゴリズムを用いれば良いが、これに限定されず、いかなる既知の技術を用いても良い。また、ソートなし比較部１４の詳細については後述する。
【００３０】
ここで、ソートなし比較について、図４を参照して説明する。図４は、ソートなし比較を説明する図である。図４に示すように、比較元ディレクトリ（ディレクトリＡ）の配下に「１１１．ｔｘｔ」、「２２２．ｔｘｔ」、「３３３．ｔｘｔ」のファイルが含まれている。比較先ディレクトリ（ディレクトリＢ）の配下に「２２２．ｔｘｔ」、「３３３．ｔｘｔ」、「４４４．ｔｘｔ」のファイルが含まれている。
【００３１】
このような状況の下、ソートなし比較部１４は、比較元ディレクトリに含まれる「１１１．ｔｘｔ」というファイル名が比較先ディレクトリに含まれないので、比較処理の処理結果を比較対象なしとする。ソートなし比較部１４は、比較元ディレクトリに含まれる「２２２．ｔｘｔ」というファイル名が比較先ディレクトリに含まれるので、「２２２．ｔｘｔ」のファイル名同士の比較処理を実行する。ソートなし比較部１４は、比較元ディレクトリに含まれる「３３３．ｔｘｔ」というファイル名が比較先ディレクトリに含まれるので、「３３３．ｔｘｔ」のファイル名同士の比較処理を実行する。ソートなし比較部１４は、比較先ディレクトリに含まれる「４４４．ｔｘｔ」というファイル名が比較元ディレクトリに含まれないので、比較処理の処理結果を比較対象なしとする。
【００３２】
図１に戻って、ソートあり比較部１５は、ディレクトリ配下の複数のファイルをソートしたうえで比較処理を実行する。すなわち、ソートあり比較部１５は、比較元ディレクトリの配下に含まれる複数のファイルをソートルールに従ってソートし、比較先ディレクトリの配下に含まれる複数のファイルをソートルールに従ってソートする。そして、ソートあり比較部１５は、ソートした結果の比較元ディレクトリに含まれる複数のファイルおよび比較先ディレクトリに含まれる複数のファイルに対して、先頭のファイルから順に突き合わせて、比較処理を実行する。つまり、ソートあり比較部１５は、ソートした結果、比較元ディレクトリの１番目のファイルの内容と比較先ディレクトリの１番目のファイルの内容とを比較する。ソートあり比較部１５は、ソートした結果、比較元ディレクトリのＮ番目のファイルの内容と比較先ディレクトリのＮ番目のファイルの内容とを比較する。そして、ソートあり比較部１５は、比較元ファイル名テーブル２３に、比較元ディレクトリの配下に含まれるファイル毎にファイル名と比較結果を格納する。ソートあり比較部１５は、比較先ファイル名テーブル２４に、比較先ディレクトリの配下に含まれるファイル毎にファイル名と比較結果を格納する。なお、ファイル同士の比較処理は、例えば、ファイルの比較を行うための「ｄｉｆｆコマンド」のアルゴリズムを用いれば良いが、これに限定されず、いかなる既知の技術を用いても良い。また、ソートあり比較部１５の詳細については後述する。
【００３３】
ここで、ソートあり比較について、図５を参照して説明する。図５は、ソートあり比較を説明する図である。なお、ソートルールは、「ファイル名昇順」であるとする。図５に示すように、ソートあり比較部１５は、比較元ディレクトリ（ディレクトリＡ）の配下に含まれる複数のファイルをソートルールであるファイル名昇順に従ってソートする。ここでは、比較元ディレクトリ（ディレクトリＡ）の配下に「１１１．ｔｘｔ」、「２２２．ｔｘｔ」、「３３３．ｔｘｔ」のようにファイルがソートされたものとする。また、ソートあり比較部１５は、比較先ディレクトリ（ディレクトリＢ）の配下に含まれる複数のファイルをソートルールであるファイル名昇順に従ってソートする。ここでは、比較先ディレクトリ（ディレクトリＢ）の配下に「２２２．ｔｘｔ」、「３３３．ｔｘｔ」、「４４４．ｔｘｔ」のようにファイルがソートされたものとする。
【００３４】
このような状況の下、ソートあり比較部１５は、ソートした結果、比較元ディレクトリの１番目のファイル「１１１．ｔｘｔ」の内容と比較先ディレクトリの１番目のファイル「２２２．ｔｘｔ」の内容とを比較する。ソートあり比較部１５は、ソートした結果、比較元ディレクトリの２番目のファイル「２２２．ｔｘｔ」の内容と比較先ディレクトリの２番目のファイル「３３３．ｔｘｔ」の内容とを比較する。ソートあり比較部１５は、ソートした結果、比較元ディレクトリの３番目のファイル「３３３．ｔｘｔ」の内容と比較先ディレクトリの３番目のファイル「４４４．ｔｘｔ」の内容とを比較する。
【００３５】
図１に戻って、結果出力部１６は、ソートなし比較部１４またはソートあり比較部１５により生成された比較元ファイル名テーブル２３および比較先ファイル名テーブル２４を用いて、ディレクトリ配下のファイルの比較結果のサマリを出力する。比較結果のサマリは、比較コマンドの結果出力先の結果出力ファイル２５に出力される。
【００３６】
［ソートなし比較、ソートあり比較の具体例］
図６は、ソートなし比較の具体例を示す図である。図７は、ソートあり比較の具体例を示す図である。図６および図７に示すように、比較元ファイル群２１には、比較元ディレクトリ「Ｏｌｄ」の配下に「Ａ．ｔｘｔ」、「Ｂ．ｔｘｔ」、「Ｘ．ｔｘｔ」のファイルが含まれている。比較元ディレクトリ「２０１４０８２８」の配下に「０８２８ａ．ｔｘｔ」、「０８２８ｂ．ｔｘｔ」、「０８２８ｃ．ｔｘｔ」のファイルが含まれている。比較先ファイル群２２には、比較先ディレクトリ「Ｎｅｗ」の配下に「Ａ．ｔｘｔ」、「Ｂ．ｔｘｔ」、「Ｙ．ｔｘｔ」のファイルが含まれている。比較先ディレクトリ「２０１４０９０１」の配下に「０９０１ａ．ｔｘｔ」、「０９０１ｂ．ｔｘｔ」、「０９０１ｃ．ｔｘｔ」、「０９０１ｚ．ｔｘｔ」のファイルが含まれている。
【００３７】
このような状況の下、入力部１１は、比較元ディレクトリとして「Ｏｌｄ」、比較先ディレクトリとして「Ｎｅｗ」、ソートルールは未指定である比較コマンドを受け取るとする。
【００３８】
すると、図６に示すように、ソートなし比較部１４は、比較元ディレクトリ「Ｏｌｄ」に含まれるファイル「Ａ．ｔｘｔ」というファイル名が比較先ディレクトリ「Ｎｅｗ」に含まれるので、「Ａ．ｔｘｔ」のファイル名同士の比較処理を実行する。ここでは、「￥Ｏｌｄ￥Ａ．ｔｘｔ」のデータと「￥Ｎｅｗ￥Ａ．ｔｘｔ」のデータが一致している。そこで、ソートなし比較部１４は、比較元ファイル名テーブル２３の「Ａ．ｔｘｔ」に対応する比較結果２３ｃに「一致」を設定する。ソートなし比較部１４は、比較先ファイル名テーブル２４の「Ａ．ｔｘｔ」に対応する比較結果２４ｃに「一致」を設定する。
【００３９】
次に、ソートなし比較部１４は、比較元ディレクトリ「Ｏｌｄ」に含まれるファイル「Ｂ．ｔｘｔ」というファイル名が比較先ディレクトリ「Ｎｅｗ」に含まれるので、「Ｂ．ｔｘｔ」のファイル名同士の比較処理を実行する。ここでは、「￥Ｏｌｄ￥Ｂ．ｔｘｔ」のデータと「￥Ｎｅｗ￥Ｂ．ｔｘｔ」のデータのうち１行目が一致していない。そこで、ソートなし比較部１４は、比較元ファイル名テーブル２３の「Ｂ．ｔｘｔ」に対応する比較結果２３ｃに「不一致」を設定する。ソートなし比較部１４は、比較先ファイル名テーブル２４の「Ｂ．ｔｘｔ」に対応する比較結果２４ｃに「不一致」を設定する。
【００４０】
次に、ソートなし比較部１４は、比較元ディレクトリ「Ｏｌｄ」に含まれるファイル「Ｘ．ｔｘｔ」というファイル名が比較先ディレクトリ「Ｎｅｗ」に含まれないので、比較処理を実行しない。そこで、ソートなし比較部１４は、比較元ファイル名テーブル２３の「Ｘ．ｔｘｔ」に対応する比較結果２３ｃに「比較対象なし」を設定する。
【００４１】
さらに、ソートなし比較部１４は、比較先ディレクトリ「Ｎｅｗ」に含まれるファイル「Ｙ．ｔｘｔ」というファイル名が比較元ディレクトリ「Ｏｌｄ」に含まれないので、比較処理を実行しない。そこで、ソートなし比較部１４は、比較先ファイル名テーブル２４の「Ｙ．ｔｘｔ」に対応する比較結果２４ｃに「比較対象なし」を設定する。
【００４２】
これに対して、入力部１１は、比較元ディレクトリとして「２０１４０８２８」、比較先ディレクトリとして「２０１４０９０１」、ソートルールとして「ファイル名昇順」である比較コマンドを受け取るとする。
【００４３】
すると、図７に示すように、ソートあり比較部１５は、比較元ディレクトリ「２０１４０８２８」の配下に含まれる複数のファイルをソートルールであるファイル名昇順に従ってソートする。ここでは、比較元ディレクトリ「２０１４０８２８」の配下に「０８２８ａ．ｔｘｔ」、「０８２８ｂ．ｔｘｔ」、「０８２８ｃ．ｔｘｔ」のようにファイルがソートされたものとする。ソートあり比較部１５は、比較先ディレクトリ「２０１４０９０１」の配下に含まれる複数のファイルをソートルールであるファイル名昇順に従ってソートする。ここでは、比較先ディレクトリ「２０１４０９０１」の配下に「０９０１ａ．ｔｘｔ」、「０９０１ｂ．ｔｘｔ」、「０９０１ｃ．ｔｘｔ」、「０９０１ｚ．ｔｘｔ」のようにファイルがソートされたものとする。
【００４４】
ソートあり比較部１５は、ソートした結果、比較元ディレクトリの１番目のファイル「０８２８ａ．ｔｘｔ」の内容と比較先ディレクトリの１番目のファイル「０９０１ａ．ｔｘｔ」の内容を比較する。ここでは、「￥２０１４０８２８￥０８２８ａ．ｔｘｔ」のデータと「￥２０１４０９０１￥０９０１ａ．ｔｘｔ」のデータが一致している。そこで、ソートあり比較部１５は、比較元ファイル名テーブル２３の「０８２８ａ．ｔｘｔ」に対応する比較結果２３ｃに「一致」を設定する。ソートあり比較部１５は、比較先ファイル名テーブル２４の「０９０１ａ．ｔｘｔ」に対応する比較結果２４ｃに「一致」を設定する。
【００４５】
次に、ソートあり比較部１５は、ソートした結果、比較元ディレクトリの２番目のファイル「０８２８ｂ．ｔｘｔ」の内容と比較先ディレクトリの２番目のファイル「０９０１ｂ．ｔｘｔ」の内容を比較する。ここでは、「￥２０１４０８２８￥０８２８ｂ．ｔｘｔ」のデータと「￥２０１４０９０１￥０９０１ｂ．ｔｘｔ」のデータが一致している。そこで、ソートあり比較部１５は、比較元ファイル名テーブル２３の「０８２８ｂ．ｔｘｔ」に対応する比較結果２３ｃに「一致」を設定する。ソートあり比較部１５は、比較先ファイル名テーブル２４の「０９０１ｂ．ｔｘｔ」に対応する比較結果２４ｃに「一致」を設定する。
【００４６】
次に、ソートあり比較部１５は、ソートした結果、比較元ディレクトリの３番目のファイル「０８２８ｃ．ｔｘｔ」の内容と比較先ディレクトリの３番目のファイル「０９０１ｃ．ｔｘｔ」の内容を比較する。ここでは、「￥２０１４０８２８￥０８２８ｃ．ｔｘｔ」のデータと「￥２０１４０９０１￥０９０１ｃ．ｔｘｔ」のデータのうち１行目のデータが一致していない。そこで、ソートあり比較部１５は、比較元ファイル名テーブル２３の「０８２８ｃ．ｔｘｔ」に対応する比較結果２３ｃに「不一致」を設定する。ソートあり比較部１５は、比較先ファイル名テーブル２４の「０９０１ｃ．ｔｘｔ」に対応する比較結果２４ｃに「不一致」を設定する。
【００４７】
さらに、ソートあり比較部１５は、ソートした結果、比較元ディレクトリの４番目のファイルの内容と比較先ディレクトリの４番目のファイル「０９０１ｚ．ｔｘｔ」の内容を比較しようとする。ところが、ソートあり比較部１５は、比較元ディレクトリ「２０１４０８２８」の４番目のファイルが存在しないので、比較処理を実行しない。そこで、ソートあり比較部１５は、比較先ファイル名テーブル２４の「０９０１ｚ．ｔｘｔ」に対応する比較結果２４ｃに何も設定しない。なお、ソートあり比較部１５は、かかる場合に、対応する比較結果２４ｃに「比較対象なし」を設定するようにしても良い。
【００４８】
［比較処理の全体のフローチャート］
次に、実施例に係る比較処理の全体のフローチャートを、図８を参照して説明する。図８は、実施例に係る比較結果の全体のフローチャートを示す図である。
【００４９】
図８に示すように、入力部１１は、比較コマンドの入力を受け付ける（ステップＳ１１）。初期化部１２は、比較コマンドを実行するために用いられる各種データを初期化する（ステップＳ１２）。初期化部１２は、比較コマンドの引数を解析する（ステップＳ１３）。初期化部１２は、比較コマンドのオプションを解析する（ステップＳ１４）。
【００５０】
そして、判定部１３は、比較コマンドのオプションにソートルールの指定があるか否かを判定する（ステップＳ１５）。ソートルールの指定がないと判定した場合には（ステップＳ１５；Ｎｏ）、ソートなし比較部１４は、ソートなし比較処理を実行する（ステップＳ１６）。なお、ソートなし比較処理のフローチャートは、後述する。そして、ソートなし比較部１４は、比較結果のサマリを出力すべく、ステップＳ２０に移行する。
【００５１】
一方、ソートルールの指定があると判定した場合には（ステップＳ１５；Ｙｅｓ）、ソートあり比較部１５は、ソートルールの指定が「ファイル名降順」であるか否かを判定する（ステップＳ１７）。ソートルールの指定が「ファイル名降順」であると判定した場合には（ステップＳ１７；Ｙｅｓ）、ソートあり比較部１５は、降順フラグを、例えば記憶部２０の一時領域に設定し（ステップＳ１８）、ソートあり比較処理をすべく、ステップＳ１９に移行する。
【００５２】
一方、ソートルールの指定が「ファイル名降順」でないと判定した場合には（ステップＳ１７；Ｎｏ）、ソートあり比較部１５は、ソートあり比較処理をすべく、ステップＳ１９に移行する。ステップＳ１９では、ソートあり比較部１５は、ソートあり比較処理を実行する（ステップＳ１９）。なお、ソートあり比較処理のフローチャートは、後述する。そして、ソートあり比較部１５は、比較結果のサマリを出力すべく、ステップＳ２０に移行する。
【００５３】
ステップＳ２０では、結果出力部１６は、指定された比較元ディレクトリおよび比較先ディレクトリ配下のファイルについて、比較結果のサマリを出力する（ステップＳ２０）。
【００５４】
［ソートなし比較処理のフローチャート］
次に、ソートなし比較処理のフローチャートを、図９Ａおよび図９Ｂを参照して説明する。図９Ａおよび図９Ｂは、ソートなし比較結果のフローチャートを示す図である。なお、以下では、図６に示される比較元ファイル群２１および比較先ファイル群２２を使用して説明する。また、以下では、図１１に示される比較元ファイル名テーブル２３、比較先ファイル名テーブル２４および一時的に用いられる比較ペアファイル名テーブルを適宜使用しながら説明する。
【００５５】
ここでは、比較コマンドの引数は、比較元ディレクトリとして「Ｏｌｄ」、比較先ディレクトリとして「Ｎｅｗ」、ソートルールとして未指定であるとする。
【００５６】
図９に示すように、ソートなし比較部１４は、記憶部２０の各テーブルを初期化する（ステップＳ２１）。ここでいうテーブルは、比較元ファイル名テーブル２３、比較先ファイル名テーブル２４および比較ペアファイル名テーブルのことをいう。
【００５７】
ソートなし比較部１４は、比較元ディレクトリ内に存在する全ファイルの名称を取得し、比較元ファイル名テーブル２３の比較元ファイル名２３ｂの列に設定し（ステップＳ２２）、ファイル数をＯ１とする。ここでは、ソートなし比較部１４は、比較元ディレクトリ「Ｏｌｄ」から全ファイルの名称を取得する。ソートなし比較部１４は、比較元ファイル名テーブル２３について、Ｎｏ２３ａ列に「１」、「２」、「３」および比較元ファイル名２３ｂ列に「Ｂ．ｔｘｔ」、「Ａ．ｔｘｔ」、「Ｘ．ｔｘｔ」を設定する（図１１第１段目）。
【００５８】
ソートなし比較部１４は、比較先ディレクトリ内に存在する全ファイルの名称を取得し、比較先ファイル名テーブル２４の比較先ファイル名２４ｂの列に設定し（ステップＳ２３）、ファイル数をＯ２とする。ここでは、ソートなし比較部１４は、比較先ディレクトリ「Ｎｅｗ」から全ファイルの名称を取得する。ソートなし比較部１４は、比較先ファイル名テーブル２４について、Ｎｏ２４ａ列に「１」、「２」、「３」および比較先ファイル名２４ｂ列に「Ａ．ｔｘｔ」、「Ｂ．ｔｘｔ」、「Ｙ．ｔｘｔ」を設定する（図１１第２段目）。
【００５９】
ソートなし比較部１４は、比較元ファイル名テーブル２３を用いて比較ペアファイル名テーブルの比較元ファイル名欄に設定する（ステップＳ２４）。ここでは、ソートなし比較部１４は、比較ペアファイル名テーブルについて、Ｎｏ列に「１」、「２」、「３」および比較元ファイル名欄に「Ｂ．ｔｘｔ」、「Ａ．ｔｘｔ」、「Ｘ．ｔｘｔ」を設定する（図１１第３段目）。
【００６０】
ソートなし比較部１４は、比較先ファイル名テーブル２４のＮｏ「１」を変数ｎに設定する（ステップＳ２５）。ソートなし比較部１４は、比較元ファイル名のファイル数のＯ１＋１を変数ｐに設定する（ステップＳ２６）。
【００６１】
ソートなし比較部１４は、比較先ファイル名テーブル２４のＮｏ２４ａが変数ｎの値である行の比較先ファイル名２４ｂを取得する（ステップＳ２７）。ここでは、取得された比較先ファイル名をＦ１とする。ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏ「１」を変数ｍに設定する（ステップＳ２８）。
【００６２】
ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏが変数ｍの値である行の比較元ファイル名を取得する（ステップＳ２９）。ここでは、取得された比較元ファイル名をＦ２とする。そして、ソートなし比較部１４は、比較先ファイル名テーブル２４から取得された比較先ファイル名Ｆ１と比較ペアファイル名テーブルから取得された比較元ファイル名Ｆ２とが一致するか否かを判定する（ステップＳ３０）。
【００６３】
Ｆ１とＦ２とが一致しないと判定した場合には（ステップＳ３０；Ｎｏ）、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏを指すべく、変数ｍを１加算する（ステップＳ３１）。そして、ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏを示す変数ｍが比較元ファイル名のファイル数を示すＯ１より大きいか否かを判定する（ステップＳ３２）。
【００６４】
変数ｍがＯ１より大きくないと判定した場合には（ステップＳ３２；Ｎｏ）、ソートなし比較部１４は、比較ペアファイル名テーブルの次の比較元ファイル名を取得すべく、ステップＳ２９に移行する。
【００６５】
ステップＳ３０において、Ｆ１とＦ２とが一致すると判定した場合には（ステップＳ３０；Ｙｅｓ）、ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏが変数ｍの値である行の比較先ファイル名列に、Ｆ１を設定する（ステップＳ３３）。ここでは、Ｆ１が比較先ファイル名「Ａ．ｔｘｔ」である場合に、比較ペアファイル名テーブルの２行目の比較先ファイル名欄に「Ａ．ｔｘｔ」が設定される（図１１第４段）。Ｆ１が比較先ファイル名「Ｂ．ｔｘｔ」である場合に、比較ペアファイル名テーブルの１行目の比較先ファイル名欄に「Ｂ．ｔｘｔ」が設定される（図１１第４段）。そして、ソートなし比較部１４は、比較先ファイル名テーブル２４の次の比較先ファイルのファイル名判定をすべく、ステップＳ３５に移行する。
【００６６】
一方、変数ｍがＯ１より大きいと判定した場合には（ステップＳ３２；Ｙｅｓ）、ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏが変数ｐの値である行の比較先ファイル名欄に、Ｆ１を設定する（ステップＳ３３Ａ）。ここでは、Ｆ１が比較先ファイル名「Ｙ．ｔｘｔ」である場合に、比較ペアファイル名テーブルの４行目の比較先ファイル名欄に「Ｙ．ｔｘｔ」が設定される（図１１第４段）。そして、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏを指すべく、変数ｐを１加算する（ステップＳ３４）。そして、ソートなし比較部１４は、比較先ファイル名テーブル２４の次の比較先ファイルのファイル名判定をすべく、ステップＳ３５に移行する。
【００６７】
ステップＳ３５では、ソートなし比較部１４は、比較先ファイル名テーブル２４の次のＮｏを指すべく、変数ｎを１加算する（ステップＳ３５）。ソートなし比較部１４は、比較先ファイル名テーブル２３のＮｏを示す変数ｎが比較先ファイル名のファイル数を示すＯ２より大きいか否かを判定する（ステップＳ３６）。
【００６８】
変数ｎがＯ２より大きくないと判定した場合には（ステップＳ３６；Ｎｏ）、ソートなし比較部１４は、比較先ファイル名テーブル２４の次の比較先ファイル名を取得すべく、ステップＳ２７に移行する。
【００６９】
一方、変数ｎがＯ２より大きいと判定した場合には（ステップＳ３６；Ｙｅｓ）、ソートなし比較部１４は、比較先ファイル名テーブル２４の全ファイルについて、比較元ファイルとのファイル名判定を終了する。この結果、ファイル名判定の結果は、比較ペアファイル名テーブルに記憶されている。
【００７０】
続いて、ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏ「１」を変数ｋに設定する（ステップＳ３７）。
【００７１】
ソートなし比較部１４は、比較ペアファイル名テーブルのＮｏが変数ｋの値である行の比較元ファイル名をＦ１に、比較先ファイル名をＦ２に設定する（ステップＳ３８）。ソートなし比較部１４は、Ｆ２にファイル名が設定されていないかどうかを判定する（ステップＳ３９）。Ｆ２にファイル名が設定されていないと判定した場合には（ステップＳ３９；Ｙｅｓ）、ソートなし比較部１４は、（比較元のＦ１は）「比較対象なし」を、比較元ファイル名テーブル２３のＦ１に対応する比較結果２３ｃの欄に設定する（ステップＳ４０）。ここでは、変数ｋが３の場合、比較元ファイル名のＦ１に「Ｘ．ｔｘｔ」が設定されているが、比較先ファイル名のＦ２にファイル名が設定されていない。したがって、比較元ファイル名テーブル２３の「Ｘ．ｔｘｔ」に対応する比較結果２３ｃに「比較対象なし」が設定される（図１１第５段）。そして、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏに進むべく、ステップＳ４５に移行する。
【００７２】
一方、Ｆ２にファイル名が設定されていると判定した場合には（ステップＳ３９；Ｎｏ）、ソートなし比較部１４は、Ｆ１にファイル名が設定されていないかどうかを判定する（ステップＳ４１）。Ｆ１にファイル名が設定されていないと判定した場合には（ステップＳ４１；Ｙｅｓ）、ソートなし比較部１４は、（比較先のＦ２は）「比較対象なし」を、比較先ファイル名テーブル２４のＦ２に対応する比較結果２４ｃの欄に設定する（ステップＳ４２）。ここでは、変数ｋが４の場合、比較先ファイル名のＦ２に「Ｙ．ｔｘｔ」が設定されているが、比較元ファイル名のＦ１にファイル名が設定されていない。したがって、比較先ファイル名テーブル２４の「Ｙ．ｔｘｔ」に対応する比較結果２４ｃに「比較対象なし」が設定される（図１１第５段）。そして、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏに進むべく、ステップＳ４５に移行する。
【００７３】
一方、Ｆ１にファイル名が設定されていると判定した場合には（ステップＳ４１；Ｎｏ）、ソートなし比較部１４は、比較元ディレクトリ内の該ファイル（Ｆ１）の内容と、比較先ディレクトリ内の該ファイル（Ｆ２）の内容とを比較する（ステップＳ４３）。そして、ソートなし比較部１４は、比較結果を、Ｆ１、Ｆ２に対応する比較結果欄に設定する（ステップＳ４４）。すなわち、ソートなし比較部１４は、比較結果を、比較元ファイル名テーブル２３のＦ１に対応する比較結果２３ｃに設定し、比較結果を、比較先ファイル名テーブル２４のＦ２に対応する比較結果２４ｃに設定する。そして、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏに進むべく、ステップＳ４５に移行する。
【００７４】
ステップＳ４５では、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏを指すべく、変数ｋを１加算する（ステップＳ４５）。そして、ソートなし比較部１４は、変数ｋが変数ｐより小さいか否かを判定する（ステップＳ４６）。変数ｋが変数ｐより小さいと判定した場合には（ステップＳ４６；Ｙｅｓ）、ソートなし比較部１４は、比較ペアファイル名テーブルの次のＮｏの処理をすべく、ステップＳ３８に移行する。
【００７５】
一方、変数ｋが変数ｐより小さくないと判定した場合には（ステップＳ４６；Ｎｏ）、ソートなし比較部１４は、ソートなし比較処理を終了する。
【００７６】
［ソートあり比較処理のフローチャート］
次に、ソートあり比較処理のフローチャートを、図１０を参照して説明する。図１０は、ソートあり比較結果のフローチャートを示す図である。なお、以下では、図７に示される比較元ファイル群２１および比較先ファイル群２２を使用して説明する。また、以下では、図１２に示される比較元ファイル名テーブル２３および比較先ファイル名テーブル２４を適宜使用しながら説明する。
【００７７】
ここでは、比較コマンドの引数は、比較元ディレクトリとして「２０１４０８２８」、比較先ディレクトリとして「２０１４０９０１」、ソートルールとして「ファイル名昇順」であるとする。
【００７８】
図１０に示すように、ソートあり比較部１５は、記憶部２０の各テーブル、フラグを初期化する（ステップＳ５１）。ここでいうテーブルは、比較元ファイル名テーブル２３および比較先ファイル名テーブル２４のことをいう。ここでいうフラグは、例えば降順フラグのことをいう。
【００７９】
ソートあり比較部１５は、比較元ディレクトリ内に存在する全ファイルの名称を取得し、比較元ファイル名テーブル２３の比較元ファイル名２３ｂの列に設定する（ステップＳ５２）。ソートあり比較部１５は、比較元ファイル名テーブル２３のレコード数をＯとする（ステップＳ５３）。ここでは、ソートあり比較部１５は、比較元ディレクトリ「２０１４０８２８」から全ファイルの名称を取得する。ソートあり比較部１５は、比較元ファイル名テーブル２３について、Ｎｏ２３ａ列に「１」、「２」、「３」および比較元ファイル名２３ｂ列に「０８２８ｃ．ｔｘｔ」、「０８２８ｂ．ｔｘｔ」、「０８２８ａ．ｔｘｔ」を設定する（図１２第１段目左）。
【００８０】
ソートあり比較部１５は、比較先ディレクトリ内に存在する全ファイルの名称を取得し、比較先ファイル名テーブル２４の比較先ファイル名２４ｂの列に設定する（ステップＳ５４）。ソートあり比較部１５は、比較先ファイル名テーブル２４のレコード数をＴとする（ステップＳ５５）。ここでは、ソートあり比較部１５は、比較先ディレクトリ「２０１４０９０１」から全ファイルの名称を取得する。ソートあり比較部１５は、比較先ファイル名テーブル２４について、Ｎｏ２４ａ列に「１」、「２」、「３」、「４」および比較先ファイル名２４ｂ列に「０９０１ｚ．ｔｘｔ」、「０９０１ｃ．ｔｘｔ」、「０９０１ｂ．ｔｘｔ」、「０９０１ａ．ｔｘｔ」を設定する（図１２第１段目右）。
【００８１】
ソートあり比較部１５は、降順フラグを例えば記憶部２０の一時領域から読み込む（ステップＳ５６）。ソートあり比較部１５は、降順フラグが設定されているか否かを判定する（ステップＳ５７）。
【００８２】
降順フラグが設定されていないと判定した場合には（ステップＳ５７；Ｎｏ）、ソートあり比較部１５は、比較元ファイル名テーブル２３および比較先ファイル名テーブル２４それぞれをファイル名昇順にソートする（ステップＳ５８）。そして、ソートあり比較部１５は、ソート種類を、昇順として設定する。ここでは、ソートルールが「ファイル名昇順」であるので、ソートあり比較部１５は、比較元ファイル名テーブル２３の比較元ファイル名２３ｂをファイル名昇順にソートし、比較先ファイル名テーブル２４の比較先ファイル名２４ｂをファイル名昇順にソートする。この結果、比較元ファイル名テーブル２３の比較元ファイル名２３ｂは、「０８２８ａ．ｔｘｔ」、「０８２８ｂ．ｔｘｔ」、「０８２８ｃ．ｔｘｔ」の順に並べ替えられる（図１２第２段目左）。比較先ファイル名テーブル２４の比較先ファイル名２４ｂは、「０９０１ａ．ｔｘｔ」、「０９０１ｂ．ｔｘｔ」、「０９０１ｃ．ｔｘｔ」、「０９０１ｚ．ｔｘｔ」の順に並べ替えられる（図１２第２段目右）。
【００８３】
一方、降順フラグが設定されていると判定した場合には（ステップＳ５７；Ｙｅｓ）、ソートあり比較部１５は、比較元ファイル名テーブル２３および比較先ファイル名テーブル２４それぞれをファイル名降順にソートする（ステップＳ５９）。そして、ソートあり比較部１５は、ソート種類を、降順として設定する。
【００８４】
ソートあり比較部１５は、比較元ファイル名テーブル２３のレコード数Ｏと比較先ファイル名テーブル２４のレコード数Ｔとを比較し、小さいほうをＭとする（ステップＳ６０）。ここでは、比較元ファイル名テーブル２３のレコード数Ｏ（３）の方が比較先ファイル名テーブル２４のレコード数Ｔ（４）より小さいので、Ｍには、Ｏ（３）が設定される。そして、ソートあり比較部１５は、比較元ファイル名テーブル２３、比較先ファイル名テーブル２４の行番号「１」を変数ｎに設定する（ステップＳ６１）。
【００８５】
ソートあり比較部１５は、比較元ファイル名テーブル２３のｎ番目のレコードのファイル名のファイルを比較ペア１とする（ステップＳ６２）。ソートあり比較部１５は、比較先ファイル名テーブル２４のｎ番目のレコードのファイル名のファイルを比較ペア２とする（ステップＳ６３）。
【００８６】
ソートあり比較部１５は、比較ペア１と比較ペア２のファイルの内容を比較する（ステップＳ６４）。ここでは、ソートあり比較部１５は、ｎが１の場合には、「０８２８ａ．ｔｘｔ」の内容と「０９０１ａ．ｔｘｔ」の内容とを比較する（図１２第３段目）。ｎが２の場合には、「０８２８ｂ．ｔｘｔ」の内容と「０９０１ｂ．ｔｘｔ」の内容とを比較する（図１２第３段目）。ｎが３の場合には、「０８２８ｃ．ｔｘｔ」の内容と「０９０１ｃ．ｔｘｔ」の内容とを比較する（図１２第３段）。なお、ｎが４の場合には、比較先「０９０１ｚ．ｔｘｔ」に対応する比較元の比較対象がない（図１２第３段目）。
【００８７】
ソートあり比較部１５は、比較の結果、一致したか否かを判定する（ステップＳ６５）。一致したと判定した場合には（ステップＳ６５；Ｙｅｓ）、ソートあり比較部１５は、比較元ファイル名テーブル２３のｎ番目のレコードの比較結果２３ｃの欄に、「一致」にソート種類を加えた比較結果を設定する（ステップＳ６６）。ソートあり比較部１５は、比較先ファイル名テーブル２４のｎ番目のレコードの比較結果２４ｃの欄に、「一致」にソート種類を加えた比較結果を設定する（ステップＳ６７）。ここでは、一例として、ソートあり比較部１５は、ｎが１の場合には、「０８２８ａ．ｔｘｔ」と「０９０１ａ．ｔｘｔ」が一致するので、比較結果２３ｃの欄に「昇順比較、一致」を設定する。比較結果２４ｃの欄に「昇順比較、一致」を設定する（図１２第３段目）。
【００８８】
一方、一致しないと判定した場合には（ステップＳ６５；Ｎｏ）、ソートあり比較部１５は、比較元ファイル名テーブル２３のｎ番目のレコードの比較結果２３ｃの欄に、「不一致」にソート種類を加えた比較結果を設定する（ステップＳ６８）。ソートあり比較部１５は、比較先ファイル名テーブル２４のｎ番目のレコードの比較結果２４ｃの欄に、「不一致」にソート種類を加えた比較結果を設定する（ステップＳ６９）。ここでは、一例として、ソートあり比較部１５は、ｎが３の場合には、「０８２８ｃ．ｔｘｔ」と「０９０１ｃ．ｔｘｔ」が一致しないので、比較結果２３ｃの欄に「昇順比較、不一致」を設定する。比較結果２４ｃの欄に「昇順比較、不一致」を設定する（図１２第３段目）。
【００８９】
ソートあり比較部１５は、次の行番号を指すべく、変数ｎを１加算する（ステップＳ７０）。ソートあり比較部１５は、変数ｎがＭより大きいか否かを判定する（ステップＳ７１）。変数ｎがＭより大きくないと判定した場合には（ステップＳ７１；Ｎｏ）、ソートあり比較部１５は、次の行番号の比較をすべく、ステップＳ６２に移行する。
【００９０】
一方、変数ｎがＭより大きいと判定した場合には（ステップＳ７１；Ｙｅｓ）、ソートあり比較部１５は、ソートあり比較処理を終了する。
【００９１】
［結果出力の一例］
図１３Ａおよび図１３Ｂは、結果出力の一例を示す図である。
【００９２】
図１３Ａでは、図６で示した比較元ディレクトリとして「Ｏｌｄ」、比較先ディレクトリとして「Ｎｅｗ」を引数とし、ソートルールを未指定とした比較コマンドを実行した場合の結果出力の一例である。ソートなし比較部１４によって、図１１第５段目に示すような比較元ファイル名テーブル２３および比較先ファイル名テーブル２４が生成されたものとする。
【００９３】
このような状況の下、結果出力部１６は、比較元ファイル名テーブル２３を用いて、比較元ディレクトリ「Ｏｌｄ」配下のファイルの比較結果のサマリを出力する。結果出力部１６は、比較先ファイル名テーブル２４を用いて、比較先ディレクトリ「Ｎｅｗ」配下のファイルの比較結果のサマリを出力する。
【００９４】
ここでは、結果出力ファイル２５には、１行目に、ディレクトリ名として「￥Ｏｌｄ」、比較ファイル数として「３」、不一致ファイル数として「２」、比較ファイル選択ルールとして「ファイル名一致」、比較結果として「ＮＧ」が記憶されている。ここで、不一致ファイル数が「２」であるのは、比較元ファイル名テーブル２３の比較元ファイル名２３ｂ「Ｂ．ｔｘｔ」および「Ｘ．ｔｘｔ」の比較結果が「一致」でないからである（図１１第５段目）。また、比較ファイル選択ルールが「ファイル名一致」であるのは、ソートルールが未指定であるからである。比較結果が「ＮＧ」であるのは、不一致ファイル数が１以上であるからである。
【００９５】
また、結果出力ファイル２５には、２行目に、ディレクトリ名として「￥Ｎｅｗ」、比較ファイル数として「３」、不一致ファイル数として「２」、比較ファイル選択ルールとして「ファイル名一致」、比較結果として「ＮＧ」が記憶されている。ここで、不一致ファイル数が「２」であるのは、比較先ファイル名テーブル２４の比較先ファイル名２４ｂ「Ｂ．ｔｘｔ」および「Ｙ．ｔｘｔ」の比較結果が「一致」でないからである（図１１第５段目）。また、比較ファイル選択ルールが「ファイル名一致」であるのは、ソートルールが未指定であるからである。比較結果が「ＮＧ」であるのは、不一致ファイル数が１以上であるからである。
【００９６】
図１３Ｂでは、図７で示した比較元ディレクトリとして「２０１４０８２８」、比較先ディレクトリとして「２０１４０９０１」、ソートルールとして「−ｓ」を引数とした比較コマンドを実行した場合の結果出力の一例である。ソートあり比較部１５によって、図１２第３段目に示すような比較元ファイル名テーブル２３および比較先ファイル名テーブル２４が生成されたものとする。
【００９７】
このような状況の下、結果出力部１６は、比較元ファイル名テーブル２３を用いて、比較元ディレクトリ「２０１４０８２８」配下のファイルの比較結果のサマリを出力する。結果出力部１６は、比較先ファイル名テーブル２４を用いて、比較先ディレクトリ「２０１４０９０１」配下のファイルの比較結果のサマリを出力する。
【００９８】
ここでは、結果出力ファイル２５には、１行目に、ディレクトリ名として「￥２０１４０８２８」、比較ファイル数として「３」、不一致ファイル数として「１」、比較ファイル選択ルールとして「ファイル名昇順」、比較結果として「ＮＧ」が記憶されている。ここで、不一致ファイル数が「１」であるのは、比較元ファイル名テーブル２３の比較元ファイル名２３ｂ「０８２８ｃ．ｔｘｔ」の比較結果が「一致」でないからである（図１２第３段目）。また、比較ファイル選択ルールが「ファイル名昇順」であるのは、ソートルールが「ファイル名昇順」を示す「−ｓ」であるからである。比較結果が「ＮＧ」であるのは、不一致ファイル数が１以上であるからである。
【００９９】
また、結果出力ファイル２５には、２行目に、ディレクトリ名として「￥２０１４０９０１」、比較ファイル数として「４」、不一致ファイル数として「２」、比較ファイル選択ルールとして「ファイル名昇順」、比較結果として「ＮＧ」が記憶されている。ここで、不一致ファイル数が「２」であるのは、比較先ファイル名テーブル２４の比較先ファイル名２４ｂ「０９０１ｃ．ｔｘｔ」と「０９０１ｚ．ｔｘｔ」の比較結果が「一致」でないからである（図１２第３段目）。また、比較ファイル選択ルールが「ファイル名昇順」であるのは、ソートルールが「ファイル名昇順」を示す「−ｓ」であるからである。比較結果が「ＮＧ」であるのは、不一致ファイル数が１以上であるからである。
【０１００】
なお、ソートルールは、ファイル名の順に従ったルールであり、例えば、ファイル名の昇順や降順であると説明した。しかしながら、ソートルールは、これに限定されず、例えば、ファイル名の所定位置から所定文字数分の昇順や降順であっても良い。すなわち、ソートあり比較部１５は、比較元ディレクトリの配下に含まれる複数のファイルを、ファイル名の所定位置から所定文字数分の順に従ったソートルールでソートし、比較先ディレクトリの配下に含まれる複数のファイルを該ソートルールでソートする。そして、ソートあり比較部１５は、ソートした結果の比較元ディレクトリに含まれる複数のファイルおよび比較先ディレクトリに含まれる複数のファイルに対して、先頭のファイルから順に突き合わせて、比較処理を実行すれば良い。
【０１０１】
また、ソートルールは、ファイルの日時に関するメタ情報の昇順や降順であっても良い。ファイルの日時に関するメタ情報には、例えば、ファイルの作成日時、アクセス日時、更新日時などのタイムスタンプが含まれる。すなわち、ソートあり比較部１５は、比較元ディレクトリの配下に含まれる複数のファイルを、ファイルの作成日時の順に従ったソートルールでソートし、比較先ディレクトリの配下に含まれる複数のファイルを該ソートルールでソートする。そして、ソートあり比較部１５は、ソートした結果の比較元ディレクトリに含まれる複数のファイルおよび比較先ディレクトリに含まれる複数のファイルに対して、先頭のファイルから順に突き合わせて、比較処理を実行すれば良い。
【０１０２】
［実施例の効果］
このようにして、上記実施例では、情報処理装置１が、比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順に従ったソートルールの指定を受け付ける。情報処理装置１は、第一のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートする。情報処理装置１は、第二のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートする。情報処理装置１は、第一のディレクトリの配下をソートしたＮ番目に対応するファイルの内容と、第二のディレクトリの配下をソートしたＮ番目に対応するファイルの内容とを比較する。そして、情報処理装置１は、比較結果を出力する。これにより、情報処理装置１は、新旧システムにおいて、ファイル名が一致していない場合であっても、比較対象を自動的に設定できる。
【０１０３】
また、上記実施例では、ファイル名の順に従ったソートルールは、ファイル名の昇順または降順のソートである。これにより、情報処理装置１は、第一のディレクトリの配下に含まれる複数のファイルをファイル名の昇順（または降順）でソートし、第二のディレクトリの配下に含まれる複数のファイルをファイル名の昇順（または降順）でソートする。この結果、情報処理装置１は、新旧システムにおいて、同等の機能を実行した際、ファイル名が実行タイミングに依存して命名される場合であっても、ファイル名の昇順（または降順）のソートを行うことで、比較対象を自動的に対応付けることが可能となる。
【０１０４】
また、上記実施例では、ファイル名の順に従ったソートルールは、ファイル名の所定位置から所定文字数分の昇順または降順のソートである。これにより、情報処理装置１は、第一のディレクトリの配下に含まれる複数のファイルをファイル名の所定位置から所定文字数分の昇順（または降順）でソートする。情報処理装置１は、第二のディレクトリの配下に含まれる複数のファイルをファイル名の所定位置から所定文字数分の昇順（または降順）でソートする。この結果、情報処理装置１は、新旧システムにおいて、同等の機能を実行した際、ファイル名が実行タイミングに依存して命名される場合であっても、ファイル名の昇順（または降順）のソートを行うことで、比較対象を自動的に対応付けることが可能となる。
【０１０５】
［その他］
なお、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、初期化部１２と判定部１３とを１個の部として統合しても良い。また、比較元ファイル群２１、比較先ファイル群２２、比較元ファイル名テーブル２３、比較先ファイル名テーブル２４および結果出力ファイル２５を情報処理装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１０６】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した情報処理装置１と同様の機能を実現する比較プログラムを実行するコンピュータの一例を説明する。図１４は、比較プログラムを実行するコンピュータの一例を示す図である。
【０１０７】
図１４に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１０８】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、比較プログラム２０５ａおよび比較処理関連情報２０５ｂを記憶する。
【０１０９】
ＣＰＵ２０３は、比較プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置１の各機能部に対応する。比較処理関連情報２０５ｂは、比較元ファイル群２１、比較先ファイル群２２、比較元ファイル名テーブル２３、比較先ファイル名テーブル２４および結果出力ファイル２５に対応する。そして、例えばリムーバブルディスク２１１が、比較プログラム２０５ａなどの各情報を記憶する。
【０１１０】
なお、比較プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから比較プログラム２０５ａを読み出して実行するようにしても良い。
【０１１１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１２】
（付記１）比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順に従ったソートルールの指定を受け付け、
前記第一のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容とを比較し、
比較結果を出力する
処理をコンピュータに実行させることを特徴とする比較プログラム。
【０１１３】
（付記２）前記ファイル名の順に従ったソートルールは、ファイル名の昇順または降順のソートである
ことを特徴とする付記１に記載の比較プログラム。
【０１１４】
（付記３）前記ファイル名の順に従ったソートルールは、ファイル名の所定位置から所定文字数分の昇順または降順のソートである
ことを特徴とする付記１に記載の比較プログラム。
【０１１５】
（付記４）コンピュータが、
比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順に従ったソートルールの指定を受け付け、
前記第一のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容とを比較し、
比較結果を出力する
各処理を実行することを特徴とする比較方法。
【０１１６】
（付記５）比較処理を行う対象の第一のディレクトリと第二のディレクトリとの指定に加えて、ファイル名の順に従ったソートルールの指定を受け付ける受付部と、
前記第一のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容と、前記第二のディレクトリの配下に含まれる複数のファイルをファイル名の順でソートした場合にＮ番目に対応するファイルの内容とを比較する比較部と、
比較結果を出力する出力部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【０１１７】
１  情報処理装置
１０  制御部
１１  入力部
１２  初期化部
１３  判定部
１４  ソートなし比較部
１５  ソートあり比較部
１６  結果出力部
２０  記憶部
２１  比較元ファイル群
２２  比較先ファイル群
２３  比較元ファイル名テーブル
２４  比較先ファイル名テーブル
２５  結果出力ファイル
【図１】
0006354501.tif 000002
【図２】
0006354501.tif 000003
【図３】
0006354501.tif 000004
【図４】
0006354501.tif 000005
【図５】
0006354501.tif 000006
【図６】
0006354501.tif 000007
【図７】
0006354501.tif 000008
【図８】
0006354501.tif 000009
【図９Ａ】
0006354501.tif 000010
【図９Ｂ】
0006354501.tif 000011
【図１０】
0006354501.tif 000012
【図１１】
0006354501.tif 000013
【図１２】
0006354501.tif 000014
【図１３Ａ】
0006354501.tif 000015
【図１３Ｂ】
0006354501.tif 000016
【図１４】
0006354501.tif 000017