(57)【要約】【課題】ディレクトリで分類されたファイルを容易に分類し直すことができる。【解決手段】ファイル管理プログラムは、階層構造で構成される複数のディレクトリと、前記階層構造の構造を変更する指示とが予め記憶されている記憶部と、前記複数のディレクトリの何れかが指定される入力部とを備えたファイル管理装置のコンピュータを、前記何れかのディレクトリが指定されたことを契機に、前記指定されたディレクトリの下に、前記記憶部に記憶された既存の前記階層構造を複製する手段と、前記指定されたディレクトリの下に複製した階層構造の構造を、前記階層構造の構造を変更する指示に基づき、変更する手段として機能させる。【選択図】図１
2014215962.tif 000002
【特許請求の範囲】
【請求項１】
階層構造で構成される複数のディレクトリと、前記階層構造の構造を変更する指示とが予め記憶されている記憶部と、前記複数のディレクトリの何れかが指定される入力部とを備えたファイル管理装置のコンピュータを、
前記何れかのディレクトリが指定されたことを契機に、
前記指定されたディレクトリの下に、前記記憶部に記憶された既存の前記階層構造を複製する手段と、
前記指定されたディレクトリの下に複製した階層構造の構造を、前記階層構造の構造を変更する指示に基づき、変更する手段として機能させることを特徴とするファイル管理プログラム。
【請求項２】
前記指定されたディレクトリは、第１のディレクトリと、前記第１のディレクトリのアドレスを含むアドレス構造の第２のディレクトリとから構成され、
前記ファイル管理装置のコンピュータを、
前記第２のディレクトリより１つ上の階層のディレクトリのアドレスを含み、前記第２のディレクトリと同じ階層の前記第２のディレクトリを含む同階層ディレクトリ群を、前記第１のディレクトリより１つ直上のディレクトリの下階層に第１移動させ、
前記第１のディレクトリの下にあるディレクトリ全ておよびファイル全てを前記第１移動した同階層ディレクトリ群の下に第２移動させ、
前記第１のディレクトリを、前記第２移動した後のディレクトリのうち、前記第１移動する前の同階層ディレクトリ群それぞれの直上にあったディレクトリの下に作成し、
前記第１移動した後の同階層ディレクトリ群と同じ階層にある第１のディレクトリを削除する手段、
として機能させることを特徴とする請求項１に記載されたファイル管理プログラム。
【請求項３】
前記第２移動するときに、移動対象のディレクトリと同じ名前のディレクトリが、既に移動先のディレクトリの下にあれば、
前記ファイル管理装置のコンピュータを、
前記第１のディレクトリより１つ直上のディレクトリの下階層に未分類フォルダを生成し、移動対象のディレクトリをその未分類フォルダに移動させる手段、
として機能させることを特徴とする請求項２に記載されたファイル管理プログラム。
【請求項４】
前記指定されたディレクトリは、第１のディレクトリと、前記第１のディレクトリの直下にある第２のディレクトリとから構成され、
前記ファイル管理装置のコンピュータを、
前記第１のディレクトリの直下にあり、前記第２のディレクトリを含む同階層ディレクトリ群を、前記第１のディレクトリより１つ直上のディレクトリの下階層に移動し、
前記第１のディレクトリを、前記移動した後の前記同階層ディレクトリ群それぞれのディレクトリの下に作成し、
前記移動した後の同階層ディレクトリ群と同じ階層にある前記第１のディレクトリを削除する手段、
として機能させることを特徴とする請求項１に記載されたファイル管理プログラム。
【請求項５】
前記同階層ディレクトリ群の移動は、各ディレクトリと、そのディレクトリの下階層にあるディレクトリ全ておよびファイル全ての移動を含むことを特徴とする請求項４に記載されたファイル管理プログラム。
【請求項６】
前記指定されたディレクトリの直下に新たなディレクトリを作成するフォルダ追加手段として機能させることを特徴とする請求項２ないし請求項５のいずれか一項に記載されたファイル管理プログラム。
【請求項７】
前記指定されたディレクトリを削除するフォルダ削除手段として機能させることを特徴とする請求項２ないし請求項５のいずれか一項に記載されたファイル管理プログラム。
【請求項８】
前記指定されたディレクトリは、移動元ディレクトリと、移動先ディレクトリとから構成され、
前記移動元ディレクトリを、前記移動先ディレクトリの直下に移動するフォルダ移動手段として機能させることを特徴とする請求項２ないし請求項５のいずれか一項に記載されたファイル管理プログラム。
【請求項９】
前記指定されたディレクトリは、第１のディレクトリと、前記第１のディレクトリのアドレスを含むアドレス構造の第２のディレクトリとから構成され、
前記ファイル管理装置のコンピュータを、
前記第２のディレクトリより１つ上の階層のディレクトリのアドレスを含み、前記第２のディレクトリと同じ階層の前記第２のディレクトリを含む同階層ディレクトリ群を、前記第１のディレクトリより１つ直上のディレクトリの下階層に第１移動させ、
前記第１のディレクトリの下にあるディレクトリ全ておよびファイル全てを前記第１移動した同階層ディレクトリ群の下に第２移動させ、
前記第１のディレクトリを、前記第２移動した後のディレクトリの下に作成し、
前記第１移動した後の同階層ディレクトリ群と同じ階層にある前記第１のディレクトリを削除する手段、
として機能させることを特徴とする請求項１に記載されたファイル管理プログラム。
【請求項１０】
階層構造で構成される複数のディレクトリと、前記階層構造の構造を変更する変更指示とが予め記憶されている記憶部とを備え、
複製した階層構造の構造を変更するために、ファイル管理装置のコンピュータを、
前記複数のディレクトリの中の何れかを使用者に指定させる指定画像を表示部に表示させる表示制御手段と、
前記指定画像の応答として前記何れかのディレクトリが指定されたことを契機に、
前記指定されたディレクトリの下階層に、前記記憶部に記憶された既存の前記階層構造を複製する手段と、
前記指定されたディレクトリの下に複製した複製階層構造を、前記変更指示に基づき、変更する手段として
機能させることを特徴とするファイル管理プログラム。
【請求項１１】
階層構造で構成される複数のディレクトリと、前記階層構造の構造を変更する変更指示とが予め記憶されている記憶部と、前記複数のディレクトリの何れかが指定される入力部とを備えたファイル管理装置のコンピュータを、
前記複数のディレクトリの中の何れかを使用者に指定させる指定画像を表示部に表示させる表示制御手段と、
前記指定画像の応答として前記何れかのディレクトリが指定されたことを契機に、
前記記憶部に記憶された既存の前記階層構造を複製する手段と、
前記変更指示に基づき、前記複製した階層構造の構造を変更する手段と、
前記指定されたディレクトリの下階層に、変更後の前記複製した階層構造を移動する手段として機能させることを特徴とするファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理プログラムに関し、特に、複数のディレクトリが階層構造で構成され、ファイルがディレクトリ毎に分類され、ディレクトリの移動、削除、追加、そして、互いのディレクトリの位置を入れ替えて、コンピュータ内のファイルを管理するためのプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータ内に記憶された電子ファイル（以下、「ファイル」と称する）を管理する方法に、ファイルを階層構造で管理する方法があった。これは、ファイルをディレクトリ（以下、「フォルダ」と称する）で分類し、階層化することでファイルの整理を行う方法であり、一般的に用いられているファイル管理方法であった。
しかしながら、階層構造によるファイル管理方法は、一度作成した階層構造を変更して、異なる分類で整理する場合、新たな階層構造を作成する必要があった。そのため、ユーザは、コンピュータを操作して、階層構造内に新たなフォルダを追加したり、そのフォルダにファイルを移動したり、既存の階層構造にフォルダを移動する等の作業を行う必要があった。この作業は、管理するファイル数が多い場合や、階層構造が複雑な場合に、ファイルの再分類が完了するまで非常に工数がかかるという問題があった。
このような問題を解決するため、ユーザは、予めファイル毎に分類情報を設定しておく。コンピュータは、その分類情報に基づいてファイルを分類整理する。また、ファイル名に階層構造内の格納先を示す階層情報を付与し、このファイル名を用いて、新たな分類に基づく階層構造の再構築を自動的に行う方法があった（特許文献）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法は、ファイルに設定された分類情報に基づいてファイルの分類管理を行うため、ディレクトリ（フォルダ）で分類されたファイルをそのディレクトリをまるごと移動して、同階層の複数のディレクトリの位置と、別の階層にあるディレクトリの位置とを入れ替えるというような複雑なことをするには、移動対象の複数のファイルに分類情報を一つ一つ設定し直す必要があり、余計な手間がかかるという問題があった。
【０００５】
本発明は、以上のような問題を解決するためになされたものであり、ディレクトリで分類されたファイルを容易に分類し直すことができるファイル管理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明の請求項１に記載のファイル管理プログラムは、階層構造で構成される複数のディレクトリと、前記階層構造の構造を変更する指示とが予め記憶されている記憶部と、前記複数のディレクトリの何れかが指定される入力部とを備えたファイル管理装置のコンピュータを、前記何れかのディレクトリが指定されたことを契機に、前記指定されたディレクトリの下に、前記記憶部に記憶された既存の前記階層構造を複製する手段と、前記指定されたディレクトリの下に複製した階層構造の構造を、前記階層構造の構造を変更する指示に基づき、変更する手段として機能させる構成とした。
【発明の効果】
【０００７】
本発明によれば、ディレクトリを指定することで、ディレクトリで分類されたファイルを分類することができ、利用者の手間がかからない。
【図面の簡単な説明】
【０００８】
【図１】本発明に係るコンピュータの構成を示すブロック図である。
【図２】階層Ａの階層構造の一例を示す図である。
【図３】第１の実施形態に係るファイル管理プログラムを実行するファイル管理装置の動作手順の概略を示すフローチャート図である。
【図４】階層Ａの階層構造が階層Ｂに複製された一例を示す図である。
【図５】画面表示部の画面に表示されるフォルダ指定画面の一例である。
【図６】図３のステップＳ１における動作手順を示したフローチャート図である。
【図７】図３のステップＳ２における動作手順を示したフローチャート図である。
【図８】図７から続く図３のステップＳ２における動作手順を示したフローチャート図である。
【図９】位置情報と対応するファイル位置データの一例を示す図である。
【図１０】図４における階層Ａの文書フォルダ以下にある全てのフォルダの位置情報を示す図である。
【図１１】フォルダ名記憶部に記憶されたフォルダ名の一例である。
【図１２】階層データ記憶部に記憶されたフォルダ位置データの一例である。
【図１３】図３のステップＳ３における動作手順を示したフローチャート図である。
【図１４】図１３のステップＳ３０３における動作手順を示したフローチャート図である。
【図１５】（ａ）階層構造表示の一例である。（ｂ）階層構造表示の一例である。
【図１６】画面表示部の画面に表示される階層構造変更画面の一例である。
【図１７】図３のステップＳ４における動作手順を示したフローチャート図である。
【図１８】図１７のステップＳ５０３におけるフォルダ追加処理の動作手順を示したフローチャート図である。
【図１９Ａ】（ａ）階層データ記憶部に記憶されたフォルダ位置データの一例である。（ｂ）階層データ記憶部に記憶されたフォルダ位置データに基づき作成された階層構造表示の一例である。
【図１９Ｂ】（ａ）図１９Ａの階層データ記憶部に記憶されたフォルダ位置データに対して、第２階層と第３階層との階層を入れ替えた後のフォルダ位置データの一例である。（ｂ）入れ替え後のフォルダ位置データに基づき作成された階層構造表示の一例である。
【図２０】変更操作記憶部に格納される操作データの一例であり、（ａ）操作種別が「追加」の操作データの一例である。（ｂ）操作種別が「削除」の操作データの一例である。（ｃ）操作種別が「移動」の操作データの一例である。（ｄ）操作種別が「入替」の操作データの一例である。
【図２１】図１７のステップＳ５０４におけるフォルダ削除処理の動作手順を示したフローチャート図である。
【図２２】図２１のステップＳ７０５における削除指定フォルダの削除処理の動作手順を示したフローチャート図である。
【図２３】図１７のステップＳ５０５におけるフォルダ移動処理の動作手順を示したフローチャート図である。
【図２４】図２３のステップＳ９１４におけるフォルダ移動処理の動作手順を示したフローチャート図である。
【図２５】図１７のステップＳ５０６におけるフォルダ階層入替処理の動作手順を示したフローチャート図である。
【図２６】図３のステップＳ７における動作手順を示したフローチャート図である。
【図２７】図２６のステップＳ１２０４におけるフォルダ作成処理の動作手順を示したフローチャート図である。
【図２８】図２６のステップＳ１２０９のファイル位置データ変更操作処理の動作手順を示したフローチャート図である。
【図２９】図２８のステップＳ１４０４におけるファイル位置データ置き換え処理の動作手順を示したフローチャート図である。
【図３０】図２８のステップＳ１４０５におけるファイル位置データ入替処理の動作手順を示したフローチャート図である。
【図３１】図２６のステップＳ１２１０におけるファイル格納先決定処理の動作手順を示したフローチャート図である。
【図３２】図２６のステップＳ１２１１におけるファイル分類処理の動作手順を示したフローチャート図である。
【図３３】図３に示すファイル管理プログラムが実行終了したときの階層Ａおよび階層Ｂの階層構造の一例を示す図である。
【図３４】図２６のステップＳ１２１０におけるファイル格納先決定処理の動作手順を示したフローチャート図である。
【図３５】図３４のステップＳ１９０４におけるファイル分類先探索処理の動作手順を示したフローチャート図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施の形態（以下、「本実施形態」と称する）につき詳細に説明する。なお、各図は、本発明について概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００１０】
《ファイル管理装置１》
図１は、第１の実施形態に係るファイル管理装置１の構成例を示すブロック図である。
ファイル管理装置１は、制御部１１と、記憶部１２と、入力部１４と、画面表示部１３と、通信部１５とを備える。例えば、ＰＣ（Personal Computer）やワークステーションなどである。
【００１１】
（制御部１１）
制御部１１は、ファイル管理装置１の全体を制御する構成部であり、例えば、ＣＰＵ（Central Processing Unit）で構成され、ＣＰＵが記憶部１２に格納されるＯＳ４１（Operating System）やアプリケーションプログラム４３を展開し実行することによってファイル管理装置１の各機能が実現される。
この制御部１１は、不図示のファイル管理システムのプログラムを起動させることで、ファイル管理処理部２１と、階層構造情報取得部２２と、階層構造変更処理部２３と、画面制御部２８と、入力処理部２９とを備える。制御部１１が備える各構成部の機能については詳細を後記する。
【００１２】
（記憶部１２）
記憶部１２は、データやプログラム等を記憶する機能を有し、これらデータやプログラム等であるファイル８は、記憶部１２において、フォルダ９（ディレクトリ）を用いた階層構造で記憶されている。記憶部１２は、例えば、ＨＤ（Hard Disc）、ＲＡＭ（Random Access Memory）、光ディスク等の記憶手段である。
この記憶部１２は、階層構造ファイル３１と、ファイルデータ記憶部３２と、階層データ記憶部３３と、フォルダ名記憶部３４と、位置情報記憶部３５と、変更操作記憶部３６と、ＯＳ４１と、コマンド４２と、アプリケーションプログラム４３とを備える。記憶部１２が備える各構成部の機能については詳細を後記する。
ＯＳ４１は、例えば、Windows（登録商標）やLinux（登録商標）等のプログラムである。アプリケーションプログラム４３は、ＯＳ４１上で動作するソフトウェアである。
コマンド４２は、ＯＳ４１に所定の処理を実行させるための命令である。
【００１３】
（階層構造の説明）
ここで、階層構造について説明する。
例えば、図２に示すように、フォルダ９は、複数の別のフォルダ９やファイル８を持つ（所属させる）ことができ、フォルダ９に別のフォルダ９が所属することで階層構造が形成される。ここでファイル８はいずれかのフォルダ９に必ず所属される。
図２を用いて具体的に説明する。フォルダ９（９０ａ）の「階層Ａ」には、フォルダ９（９１ａ）「文書」と、フォルダ９（９１ｂ）「資料」とが所属している。さらに、フォルダ９１ａ「文書」には、フォルダ９２ａ「２００８」と、フォルダ９２ｂ「２００９」と、フォルダ９２ｃ「２０１０」とが所属している。そして、フォルダ９２ａ「２００８」には、フォルダ９３ａ「業務Ａ」と、フォルダ９３ｂ「業務Ｂ」とが所属している。フォルダ９２ｂ「２００９」には、フォルダ９３ｃ「業務Ａ」と、フォルダ９３ｄ「業務Ｂ」と、フォルダ９３ｅ「業務Ｃ」と、ファイル８ｄとが所属している。なお、これらのファイル８およびフォルダ９には、階層構造内での位置を表す位置情報というデータがある。
【００１４】
（位置情報の説明）
この位置情報とは、アドレスの一部であり、指定されたフォルダ９（先頭フォルダＴｏｐ）から目的のファイル８までのアドレスである。この位置情報は、階層構造において、指定されたフォルダ９（先頭フォルダＴｏｐ）から、目的のファイル８またはフォルダ９に至るまでに含まれるフォルダ９の名称を、上位の階層から順番に区切り記号（ここでは「￥」を使用）で挟んで並べて、最後に目的のファイル８（または、目的のフォルダ９）の名称を付けた文字列で表現される。
例えば、図２における「ファイル１」は、上の階層から順に「階層Ａ」「文書」「２００８」「業務Ａ」フォルダにあるため、位置情報は「￥階層Ａ￥文書￥２００８￥業務Ａ￥ファイル１」という形で表現される。
以下において、特に断りがない限り、位置情報とは上記の形式で階層構造内の位置を表現した文字列データとして扱う。
【００１５】
図１に戻る。
（画面表示部１３）
画面表示部１３は、例えば、ＬＣＤ（Liquid Crystal Display）等であり、利用者が入力部１４を介して入力した入力内容や、後記する画面制御部２８が生成した画面データを画面に表示する機能を有する。
【００１６】
（入力部１４）
入力部１４は、利用者からの入力や要求を受け付ける機能を有する。この入力部１４は、例えば、キーボードやマウス等を備える。
【００１７】
（通信部１５）
通信部１５は、ネットワーク（ＬＡＮ等）を介して、端末ＰＣ（Personal Computer）と接続するための物である。この端末ＰＣは、ブラウザを備え、画面表示部１３で表示される表示画面を表示し、その応答として、利用者からの入力や要求を受け付ける。言い換えれば、通信部１５は、画面表示部１３および入力部１４と同等の機能を果たす。
【００１８】
《制御部１１》
制御部１１が備える各構成部の機能について説明する。
ファイル管理装置１の電源スイッチ（不図示）がＯＮに切り替えられて、ファイル管理装置１の内部に電源が投入されると、制御部１１は、記憶部１２に格納されたＯＳ４１を起動する。その後、利用者が入力部１４を介して画面表示部１３に表示されたアイコン（ＧＵＩ）を選択して、記憶部１２に格納されたアプリケーションプログラム４３のうち、不図示のファイル管理システムのプログラムを起動させることで、制御部１１は、まず、ファイル管理処理部２１として機能する。これにより、ファイル管理装置１がファイル管理システムとして動作する。
【００１９】
（ファイル管理処理部２１）
ファイル管理処理部２１は、ＰＣがファイル管理装置１として動作するように全体の制御を行う構成部である。
このファイル管理処理部２１は、階層構造情報取得部２２や、階層構造変更処理部２３、入力処理部２９、画面制御部２８からの処理結果を受けて、階層構造情報取得部２２や、階層構造変更処理部２３、画面制御部２８、入力処理部２９に処理を行わせる。
【００２０】
（階層構造情報取得部２２）
階層構造情報取得部２２は、階層構造ファイル３１から各ファイルの階層構造情報を取得する機能を有し、その階層構造情報から取得した情報をファイルデータ記憶部３２、階層データ記憶部３３およびフォルダ名記憶部３４にそれぞれ記憶させる。
（階層構造情報の説明）
ここで、階層構造情報とは、ファイル８の名称（ファイル名）、そのファイル８の階層構造における位置（ファイルアドレス）、フォルダ９の名称（フォルダ名）、そのフォルダ９の階層構造における位置（フォルダアドレス）、また、ファイル８が所属しているフォルダ９の位置等である。この階層構造情報を用いることで、ファイル８およびフォルダ９を検索することができ、検索結果に基づきアクセスしてファイルデータおよびフォルダデータの取得を行うことができる。
【００２１】
（階層構造変更処理部２３）
階層構造変更処理部２３は、階層構造情報に基づき、ファイル８やフォルダ９に対して階層構造における位置を変更する構成部である。
第１の実施形態において、階層構造変更処理部２３は、ファイル管理処理部２１からの指示に応じて、「追加処理」、「移動処理」、「削除処理」、「入替処理」を実行する。例えば、利用者により、「追加」、「移動」、「削除」、「入替」のいずれか一つの実行を要求する指示が入力部１４に入力され、入力処理部２９を介してファイル管理処理部２１は、利用者からの指示を取得する。この指示に応じて、ファイル管理処理部２１は、階層構造変更処理部２３に「追加処理」、「移動処理」、「削除処理」、「入替処理」の実行を指示する。
【００２２】
階層構造変更処理部２３は「追加処理」を行うことで、指定の位置に新たなフォルダ９を作成する。階層構造変更処理部２３は「移動処理」を行うことで、指定の位置にフォルダ９の位置を変更する。階層構造変更処理部２３は「削除処理」を行うことで、指定の位置のフォルダ９を削除する。階層構造変更処理部２３は「入替処理」を行うことで、階層構造上の２つの階層（第１指定階層と第２指定階層）を指定して第１指定階層に位置する全てのフォルダと第２指定階層に位置する全てのフォルダとを入れ替える。この階層構造変更処理部２３が実行する各処理についての詳細は後記する。
【００２３】
（画面制御部２８）
画面制御部２８は、画面データを生成し、画面表示部１３を制御して画面に画像を表示させるドライバとしての機能を有する。
この画面制御部２８は、例えば、図５（フォルダ指定画面３００）や図１６（階層構造変更画面５００）に示されるような、ファイル管理装置１の利用者にファイル管理システムヘの入力を行わせるための画面表示を作成し、画面表示部１３に対して表示を行う。また、図１６（階層構造変更画面５００）における階層構造を表示するために、階層データ記憶部３３に格納されているフォルダの階層位置を示すフォルダ位置データを取得して階層表示を作成する。
【００２４】
（フォルダ位置データの説明）
ここで、フォルダ位置データとは、本実施形態におけるファイル管理システムにおいて、階層構造内でのフォルダ９の位置を階層で表現するデータ形式であり、フォルダ９の位置情報に基づき、先頭フォルダＴｏｐからフォルダ９を含むフォルダ９までの各フォルダのフォルダ名をデータとして階層別に順番に並べたものである。
【００２５】
（入力処理部２９）
入力処理部２９は、入力部１４から入力されたデータを取得して、ファイル管理処理部２１に出力する機能を有する。
これにより、ファイル管理処理部２１は、利用者が入力部１４に入力した内容を入力処理部２９から取得し、その入力内容に応じて画面制御部２８に対して画面表示の設定変更を行う。
【００２６】
《記憶部１２》
記憶部１２が備える各構成部の機能について説明する。
この記憶部１２は、階層構造ファイル３１と、ファイルデータ記憶部３２と、階層データ記憶部３３と、フォルダ名記憶部３４と、位置情報記憶部３５と、変更操作記憶部３６と、ＯＳ４１と、コマンド４２と、アプリケーションプログラム４３とを備える。
【００２７】
（階層構造ファイル３１）
階層構造ファイル３１は、記憶部１２に階層構造で記憶された全てのファイル８および全てのフォルダ９であり、この階層構造ファイル３１から階層構造情報を取得することができる。
この階層構造ファイル３１（記憶部１２に格納された全てのファイル８および全てのフォルダ９）は、一般的なファイルシステム等の仕様に即した形で階層構造として分類された状態にあり、ＯＳ４１を実行する制御部１１により管理されている。これら階層構造ファイル３１の各ファイル８および各フォルダ９には、ＯＳ４１上で実行されるドライバ、データベースソフトウエア、その他アプリケーションプログラム等から階層構造に則ってアクセスできる。
以下の説明において具体例として図２を参照する場合、特に断りがない限りにおいては、階層構造ファイル３１が図２に示す階層構造で表現されているものとする。
【００２８】
（ファイルデータ記憶部３２）
ファイルデータ記憶部３２は、ファイル８のデータ（ファイルデータ）を記憶する機能を有する。
（ファイルデータの説明）
ここで、ファイルデータとは、位置情報（ファイル８のファイルアドレス）と、ファイル位置データ（ファイル８が所属するフォルダ９のフォルダ位置データ）とで構成されるデータである。
【００２９】
（階層データ記憶部３３）
階層データ記憶部３３は、階層構造におけるフォルダの位置を示すフォルダ位置データを記憶する機能を有する。この階層データ記憶部３３は、例えば、図１２に示すテーブルを備え、フォルダアドレスに基づき、フォルダアドレスを構成する各フォルダのフォルダ名がデータとして階層毎に順番に並べた、フォルダ位置データを記憶する。例えば、フォルダアドレスが『￥文章￥２００８￥業務Ａ』のフォルダ「業務Ａ」の場合、階層データ記憶部３３には、第１階層“文章”、第２階層“２００８”、第３階層“業務Ａ”が記憶される。この記憶された情報の列がフォルダ位置データである。
【００３０】
（フォルダ名記憶部３４）
フォルダ名記憶部３４は、フォルダ名を格納する機能を有する。このフォルダ名記憶部３４は、例えば、図１１に示すテーブルを備え、フォルダ名の文字列データが記憶される。このフォルダ名記憶部３４には、記憶部１２に記憶されたフォルダ９に付けられたフォルダ名が記憶される。
【００３１】
（位置情報記憶部３５）
位置情報記憶部３５は、選択されたフォルダ９の階層構造における位置情報（フォルダアドレス）を格納する機能を有する。例えば、利用者に入力部１４を介して画面上で選択されたフォルダ９のフォルダアドレスを、フォルダ名記憶部３４は記憶する。この選択されたフォルダ９が先頭フォルダＴｏｐでありかつ第１階層フォルダ９１である。この第１階層フォルダ９１に所属するフォルダ９が第２階層フォルダ９２（９２ａ，９２ｂ，・・・）となる。
【００３２】
（変更操作記憶部３６）
変更操作記憶部３６は、制御部１１が実行した変更処理（フォルダ追加処理、フォルダ削除処理、フォルダ移動処理、フォルダ階層入替処理）に係る変更操作の内容を格納する機能を有する。本実施形態における変更操作記憶部３６は、図２０（ａ）〜（ｄ）に示す形式で操作データを格納する機能を有する。この操作データは、階層構造に対して行われた変更操作の内容を示すデータであり、「操作種別」と「データ１」と「データ２」とで構成される。
【００３３】
図２０（ａ）〜（ｄ）に示すように、「操作種別」には階層構造の変更操作の種別が格納される。第１の実施形態において、フォルダ追加処理、フォルダ削除処理、フォルダ移動処理、フォルダ階層入替処理のそれぞれに対応する「追加」「削除」「移動」「入替」が「操作種別」に格納される。
【００３４】
そして、「データ１」および「データ２」には操作種別によって異なる意味の値が格納される。
フォルダ追加処理の場合、図２０（ａ）に示すように、「データ１」には、追加フォルダのフォルダ位置データが格納される。「データ２」にはデータが格納されない。
フォルダ削除処理の場合、図２０（ｂ）に示すように、「データ１」には、削除指定フォルダのフォルダ位置データが格納される。また、「データ２」には削除後フォルダ位置データが格納される。
フォルダ移動処理の場合、図２０（ｃ）に示すように、「データ１」には、移動元フォルダ位置データが格納される。また、「データ２」には移動先フォルダ位置データが格納される。
フォルダ階層入替処理の場合、図２０（ｄ）に示すように、「データ１」には、変更前データが格納される。また、「データ２」には変更後データが格納される。
【００３５】
階層構造変更処理部２３は、与えられた変更操作に応じて、ファイルデータ記憶部３２、および、階層データ記憶部３３に格納されているファイルデータおよびファイル位置データを取得し、変更を加えたデータを再び格納する。また、実行した変更操作の内容を変更操作記憶部３６に格納し、過去に実行した変更操作の内容が必要な際に、再度取得して使用する。また、変更したファイルデータおよびファイル位置データに基づいて新しい階層構造を作成し、階層構造ファイル３１のファイルを新しい階層構造に従って分類された状態へと変更する。位置情報記憶部３５は入力された階層構造内の位置について情報を格納する。
【００３６】
階層構造情報取得部２２および階層構造変更処理部２３は、階層構造ファイル３１に対して、取得または書き込みを行う際に、位置情報記憶部３５に格納された位置情報を取得して使用する。
変更操作記憶部３６は、階層構造変更処理部２３が入力処理部２９から受けた変更操作を実行した際に、その内容を格納し保持する。
【００３７】
（処理の概略）
図３は、本発明の第１の実施形態におけるファイル管理システムの動作手順の概略を示すフローチャート図である。
【００３８】
利用者により、画面表示部１３に表示されたフォルダ指定画面３００にて、階層構造における先頭フォルダＴｏｐが指定される（ステップＳ１）。言い換えれば、制御部１１は、画面表示部１３にフォルダ指定画面３００を表示させ、入力部１４を介して、先頭フォルダＴｏｐを受け付ける。
ファイル管理処理部２１は、先頭フォルダＴｏｐから下層のファイル８およびフォルダ９の階層構造情報を取得し、それらの階層構造情報に基づき、先頭フォルダＴｏｐからの階層構造ツリー画像を作成する（ステップＳ２）。このとき、ファイル管理処理部２１は、例えば、ＯＳのＤＩＲ  ／ＳコマンドやＴＲＥＥ  ／Ｆコマンドを用いて、階層構造情報を取得することができる。そして、ファイル管理処理部２１は、階層構造ツリー画像を含む階層構造変更画面５００（図１６）を画面表示部１３に表示させる（ステップＳ３）。利用者から階層構造の変更（追加、削除、移動、入替）を指示する操作が行われて、階層構造変更指示が入力され、ファイル管理処理部２１は、その指示に応じて階層構造変更処理を実行して変更後の階層構造データを作成する（ステップＳ４）。階層構造変更処理完了後、利用者により、階層構造変更画面５００（図１６）の変更完了ボタン５１７が押下されることで、終了指示が入力され（ステップＳ５）、ファイル管理処理部２１は、階層構造変更処理を終了する。
【００３９】
次に変更した階層構造を作成する処理を開始する。利用者により、画面表示部１３に表示されたフォルダ指定画面３００にて階層構造における作成先のフォルダ９（作成先フォルダＡｄｄ）が指定される（ステップＳ６）。ファイル管理処理部２１は、ステップＳ４で作成した階層構造データに基づき、変更後の階層構造を作成先フォルダＡｄｄの下に作成する（ステップＳ７）。
以上により、ステップＳ６においてフォルダ指定画面３００にて指定した作成先フォルダＡｄｄの下に、先頭フォルダＴｏｐと、その下層のファイル８およびフォルダ９との階層構造が複製される。
【００４０】
ステップＳ４で実行される階層構造変更処理について、図４を例に説明する。
制御部１１は、図２に示される階層構造で管理された階層構造ファイル３１に対して、ステップＳ１にて、利用者が「階層Ａ」下の「文書」フォルダを指定し（この指定により、図４のフォルダ９１ａ「文書」が先頭フォルダＴｏｐとなる）、ステップＳ４にて、利用者が階層構造の変更指示を全くせず、さらにステップＳ６にて、利用者が複製後の階層構造を作成するフォルダとして「階層Ｂ」フォルダを指定したとき（この指定により、図４のフォルダ９０ｂ「階層Ｂ」が作成先フォルダＡｄｄとなる）、ステップＳ７にて、フォルダ９０ａ「階層Ａ」下のフォルダ９１ａ「文書」以下の階層構造が変更されずに、「文書」フォルダをフォルダ９０ｂ「階層Ｂ」の下に作成する。これにより、図４に示すように、フォルダ９０ｂ「階層Ｂ」の下にフォルダ９１ａであるフォルダ９１ｃ「文書」ができ、このフォルダの下には、フォルダ９１ａの下層のファイル８およびフォルダ９との階層構造が複製される。
【００４１】
以下、図３に示す各処理について、より詳細な説明を行う。
【００４２】
《ステップＳ１の処理》
図６は、図３に示すステップＳ１における動作手順を示したフローチャート図である。
まず、ファイル管理システムのプログラムを起動させることで、まず、ファイル管理処理部２１は、画面制御部２８に画面データを生成させ、画面表示部１３の画面に図５に示すフォルダ指定画面３００を表示させる（ステップＳ１０１）。このフォルダ指定画面３００において、利用者は階層構造における先頭フォルダＴｏｐを指定する（ステップＳ１０２）。例えば、利用者が入力部１４を用いて、指定フォルダ入力欄３０１にフォルダ９のアドレス『￥階層Ａ￥文書』を入力して、ＯＫボタン３０２が押下する。これにより、図２で示される階層構造におけるフォルダ９０ａ「階層Ａ」に所属する（下にある）フォルダ９１ａ「文書」が先頭フォルダＴｏｐとして指定される。
一方、フォルダ指定画面３００にてキャンセルボタン３０３が押下されると、ファイル管理処理部２１はファイル管理システムを終了する。
【００４３】
ＯＫボタン３０２が押下されたことを入力処理部２９が受け取ると、ファイル管理処理部２１は、指定フォルダ入力欄３０１に入力されたアドレス『￥階層Ａ￥文書』を先頭フォルダＴｏｐのフォルダアドレスとして取得する（ステップＳ１０３）。そして、ファイル管理処理部２１は、取得したアドレスを階層構造情報取得部２２に処理させる。
ここでは、フォルダ９のアドレス（位置情報）を文字列として入力するという方法を採っているが、入力部１４によって階層構造内の任意のフォルダを指定できる方法であれば、別のどのような方法でも構わない。
【００４４】
階層構造情報取得部２２は、指定フォルダ入力欄３０１に入力された先頭フォルダＴｏｐが階層構造ファイル３１で示される階層構造内にあるか否かを判定する（ステップＳ１０４）。
この判定処理について、図２の階層構造を例として説明する。「￥階層Ａ￥文書」は、上位の階層から順に、フォルダ「階層Ａ」の直下にフォルダ「文書」があることを表している。図２の階層構造において、最上位（左端）には「階層Ａ」および「階層Ｂ」の２つのフォルダがあり、「階層Ａ」の直下には「文書」と「資料」とがある。そのため、位置情報で指定されたアドレス「￥階層Ａ￥文書」の先頭フォルダＴｏｐは、階層構造内にあるとなる。
【００４５】
ステップＳ１０４の判定において、指定フォルダ入力欄３０１に入力されたフォルダが階層構造内にある場合（ステップＳ１０４，Ｙｅｓ）、階層構造情報取得部２２は、ステップＳ１０３で取得した先頭フォルダＴｏｐのフォルダアドレスを、位置情報記憶部３５に先頭位置として格納し（ステップＳ１０５）、ステップＳ２の処理を行う。上記例であれば、位置情報記憶部３５に「￥階層Ａ￥文書」が格納される。
【００４６】
一方、ステップＳ１０４の判定において、指定フォルダ入力欄３０１に入力されたフォルダが階層構造内にない場合（ステップＳ１０４，Ｎｏ）、階層構造情報取得部２２は、ファイル管理処理部２１に処理を移し、画面表示部１３に再入力を促すエラーメッセージ等の画面を表示させる処理を行わせる。そして、ステップＳ１０１に戻る。
【００４７】
ここで、フォルダ９１ａ「文書」が先頭フォルダＴｏｐとなることで、ファイル管理システム（ファイル管理処理部２１）が扱う階層構造は、フォルダ９１ａ「文書」に所属するファイル８やフォルダ９となる。そのため、図２の階層構造におけるフォルダ９０ｂ「階層Ｂ」やフォルダ９１ｂ「資料」等に所属するファイル８（ファイル８ｆ）およびフォルダ９（フォルダ９２ｄ）は、ファイル管理システムが管理する階層構造には含まれないため、以下に示すファイル管理システムによる処理が行われない。このように、利用者は、記憶部１２の階層構造内におけるファイル８およびフォルダ９に対して、必要に応じて、ファイル管理システムによる処理対象の範囲を指定できる。
【００４８】
ファイル管理処理部２１は、取得した先頭フォルダＴｏｐのフォルダアドレスを階層構造情報取得部２２に処理させる。
階層構造情報取得部２２は、先頭フォルダＴｏｐのフォルダアドレスに基づき、階層構造ファイル３１から階層構造情報を取得する。
【００４９】
《ステップＳ２の処理》
図７および図８は、図３に示すステップＳ２における動作手順を示したフローチャート図である。このステップＳ２では、ステップＳ１で指定した先頭位置のフォルダ以下の階層構造に含まれるファイル８およびフォルダ９についての情報を取得し、管理用の情報を作成する。
【００５０】
（ファイルデータ取得処理）
まず、階層構造情報取得部２２は、位置情報記憶部３５から階層構造における先頭フォルダＴｏｐのアドレス（位置情報）（以下、「先頭位置」とする。）を取得する（図７のステップＳ２０１）。取得した先頭位置を検索開始位置として、階層構造ファイル３１に含まれる全てのファイル８を検索する（ステップＳ２０２）。
【００５１】
具体的に、図２で示される階層構造を用いて説明する。
位置情報記憶部３５から取得した先頭位置が「￥階層Ａ￥文書」である場合には、階層構造情報取得部２２は、階層構造ファイル３１から「階層Ａ」の下のフォルダ９１ａ「文書」と、そのフォルダより下層にある全てのフォルダ９（９２ａ，９２ｂ，９２ｃ，９３ａ，９３ｂ，・・・）とを検索する。この場合、検索の結果、ファイル８ａ，ファイル８ｂ，ファイル８ｃ，ファイル８ｄ，ファイル８ｅを検出することができる。
【００５２】
次に、階層構造情報取得部２２は、ステップＳ２０２で検出したファイルの１つを取得する（ステップＳ２０３）。そして、階層構造情報取得部２２は、取得したファイルに対して、以下のステップＳ２０４〜ステップＳ２０６の処理を行う。
【００５３】
まず、階層構造情報取得部２２は、ステップＳ２０３で取得したファイルに対して、階層構造における位置情報を取得する（ステップＳ２０４）。
なお、ここで取得する位置情報は、ステップＳ２０１で取得した先頭フォルダＴｏｐからのアドレスである。例えば、図２に示す階層構造において、一般的にアドレスはルートディレクトリの「階層Ａ」から示されるため、ファイル８ａのアドレスは「￥階層Ａ￥文書￥２００８￥業務Ａ￥ファイル１」と表現される。ここで、本実施形態におけるファイル管理システムでは、先頭フォルダＴｏｐのアドレスが「￥階層Ａ￥文書」であるとき、ファイル８ａの位置情報を「￥文書￥２００８￥業務Ａ￥ファイル１」で表現する。つまり、位置情報は、先頭フォルダＴｏｐである「文書」より上のアドレス（「階層Ａ」）を含めず、「文書」以下のアドレスで表現する情報である。
【００５４】
次に、階層構造情報取得部２２は、取得した位置情報を元に、ファイル位置データの生成を行う（ステップＳ２０５）。
【００５５】
（ファイル位置データの説明）
このファイル位置データは、本実施形態におけるファイル管理システムにおいて、階層構造内でのフォルダ９の位置を階層で表現するデータ形式であり、ファイル８の位置情報に基づき、先頭フォルダＴｏｐからファイル８を含むフォルダ９までの各フォルダのフォルダ名をデータとして階層別に順番に並べたものである。
【００５６】
図９に、位置情報とそれに対応するファイル位置データの例を示す。
ファイル８ａ（図２）の位置情報は「￥文書￥２００８￥業務Ａ￥ファイル１」である。この場合のファイル８ａのファイル位置データは、第１階層「文書」、第２階層「２００８」、第３階層「業務Ａ」であり、「文書」、「２００８」、「業務Ａ」がファイル８ａのファイル位置データを構成するデータである。このように、ファイル位置データを構成する各データは、位置情報におけるフォルダ名と対応しており、またデータの並び順が位置情報における階層順と対応している。
【００５７】
なお、図９において、これらのデータを「”」記号で区切って表記しているが、意味は区切り記号「￥」と同じである。また、以降の図面においても、このような複数のデータを表記する箇所においては、同様の表記をしている。
ここで、ファイル位置データにおけるデータの順番が階層構造におけるフォルダの階層順に対応していることをわかりやすくするために、ファイル位置データの１番目のデータを「第１階層のデータ」、２番目のデータを「第２階層のデータ」、…、ｎ番目のデータを「第ｎ階層のデータ」と呼ぶ。図９においてファイル８ａの場合、第１階層のデータは「文書」、第２階層のデータは「２００８」、第３階層のデータは「業務Ａ」である。
【００５８】
図７に戻る。ステップＳ２０５の後、階層構造情報取得部２２は、位置情報とファイル位置データとをファイルデータとして、ファイルデータ記憶部３２に格納する（ステップＳ２０６）。このファイルデータは、ファイル８の「位置情報」（ステップＳ２０４で取得）と、そのファイル８の「ファイル位置データ」（ステップＳ２０５で生成）とで構成される。
【００５９】
次に、階層構造情報取得部２２は、ステップＳ２０２で検出したファイル８のうち、未取得の（ファイルデータを格納していない）ファイル８があるか否かの確認を行う（ステップＳ２０７）。
未取得のファイル８がある場合（ステップＳ２０７，Ｙｅｓ）、ステップＳ２０３に戻る。
一方、未取得のファイル８がない場合（ステップＳ２０７，Ｎｏ）、検出した全てのファイル８のファイルデータ（位置情報およびファイル位置データ）の格納を行ったこことなる。続けて、階層構造情報取得部２２は、フォルダ９についての情報を取得し、格納を行う。
【００６０】
（フォルダ名記憶部３４への格納処理）
まず、階層構造情報取得部２２はステップＳ２０１で取得した先頭位置を検索開始位置として、階層構造ファイル３１に含まれるフォルダを検索する（図８のステップＳ２０８）。
具体的には、図２で示す階層構造において、位置情報記憶部３５から取得した先頭位置が「￥階層Ａ￥文書」である場合、階層構造情報取得部２２は、階層構造ファイル３１から「階層Ａ」下の「文書」と、「文書」下の「２００８」と「２００９」と「２０１０」と、「２００８」下の「業務Ａ」と「業務Ｂ」と、「２００９」下の「業務Ａ」と「業務Ｂ」と「業務Ｃ」とを検出する。
このステップＳ２０８の処理は、フォルダを検索する処理である。ステップＳ２０２と異なり、ファイル８は検索対象外であるため検出されない。
【００６１】
次に、階層構造情報取得部２２は、ステップＳ２０８で検出したフォルダの１つを取得する（ステップＳ２０９）。そして、取得したフォルダ９に対して、以下のステップＳ２１１〜ステップＳ２１６の処理を行う。
【００６２】
まず、階層構造情報取得部２２は、ステップＳ２０９で取得したフォルダ９のフォルダ名と一致するフォルダ名がフォルダ名記憶部３４に格納されているか否かを判定する（ステップＳ２１１）。このフォルダ名記憶部３４には、図１１に示すように、フォルダ名が文字列データとして格納されている。
【００６３】
一致するフォルダ名が記憶されていない場合（ステップＳ２１１，Ｎｏ）、ステップＳ２０９で取得したフォルダ名をフォルダ名記憶部３４に格納する（ステップＳ２１２）。そして、次のステップＳ２１３の処理を行う。
一方、一致するフォルダ名が記憶されている場合（ステップＳ２１１，Ｙｅｓ）、次のステップＳ２１３の処理を行う。
【００６４】
図１０は、図４におけるフォルダ９０ａ「階層Ａ」のフォルダ９１ａ「文書」以下にある全てのフォルダの位置情報を示す図である。そして、図１１は、図１０に示す全てのフォルダの位置情報について上記ステップＳ２１１〜ステップＳ２１２を実行した結果、フォルダ名記憶部３４にフォルダ名が格納された状態を示す。ここで、図１０に示すフォルダの位置情報における末尾のデータが、当該位置情報を持つフォルダのフォルダ名である。例えば、位置情報が「￥文書￥２００８￥業務Ａ」であれば、末尾データの「業務Ａ」が当該位置情報を持つフォルダのフォルダ名である。
また、フォルダ名が同じであっても位置情報が異なる場合がある。そのため、階層構造内のフォルダ９の総数と、フォルダ名記憶部３４に格納されるフォルダ名の数とは必ずしも一致しない。
【００６５】
（階層データ記憶部３３への格納処理）
まず、階層構造情報取得部２２は階層構造ファイル３１の階層構造内において、ステップＳ２０９で取得したフォルダ９の下に別のフォルダ９があるか否かを判定する（ステップＳ２１３）。この判定処理は、ステップＳ２０８と同様に、ステップＳ２０９で取得したフォルダ９の位置を検索開始位置として、階層構造ファイル３１に含まれるフォルダを検索し、フォルダがあるか否かで判断する。
【００６６】
ステップＳ２０９で取得したフォルダ９の下に別のフォルダがある場合（ステップＳ２１３，Ｙｅｓ）、階層構造情報取得部２２は、次のステップＳ２１７を行う。
【００６７】
一方、ステップＳ２０９で取得したフォルダの下に別のフォルダがない場合（ステップＳ２１３，Ｎｏ）、階層構造情報取得部２２は、ステップＳ２０９で取得したフォルダ９の位置情報（図１０）を取得し（ステップＳ２１４）、そのフォルダ９の位置情報に基づき、フォルダ位置データ（図１２）を生成する（ステップＳ２１５）。なお、この位置情報は、ステップＳ２０１で取得した先頭位置（先頭フォルダＴｏｐのアドレス）からのアドレスである。
このステップＳ２１４〜ステップＳ２１５の処理については、対象がファイルかフォルダかという違いを除けば、ステップＳ２０４〜ステップＳ２０５の処理と同一であるので、詳細な説明は省略する。
【００６８】
そして、階層構造情報取得部２２は、生成したフォルダ位置データを階層データ記憶部３３に格納する（ステップＳ２１６）。これにより、階層データ記憶部３３には、図１２に示すように、フォルダ位置データが格納される。
【００６９】
次に、階層構造情報取得部２２は、ステップＳ２０８で検出したフォルダ９のうち、未取得のフォルダ９があるか否かの判定を行う（ステップＳ２１７）。
未取得のフォルダがある場合（ステップＳ２１７，Ｙｅｓ）、ステップＳ２０９に戻る。
一方、未取得のフォルダがない場合（ステップＳ２１７，Ｎｏ）、検出した全てのフォルダ９のフォルダ位置データの格納を行ったこことなる。そして、階層構造情報取得部２２は、フォルダデータの格納処理を終了し、図３のステップＳ３の処理を行う。
【００７０】
なお、図１２は、図２で示される階層構造において、先頭位置が「￥階層Ａ￥文書」であるときに、位置情報記憶部３５から取得可能な全てのフォルダに対して、ステップＳ２１３〜ステップＳ２１６の処理を行った結果、フォルダ位置データが階層データ記憶部３３に格納された状態を示している。
【００７１】
《ステップＳ３の処理》
図１３は、図３に示すステップＳ３における動作手順を示したフローチャート図である。
ステップＳ３においては、制御部１１は、ステップＳ２で階層データ記憶部３３に格納したデータを元に、ファイル管理システムが管理対象とする階層構造の画面表示を作成する。第１の実施形態のファイル管理システムにおける画面表示は、図１５（ａ）および図１５（ｂ）の階層構造表示４０１に示されるような、フォルダアイコン４０４を階層表示部４０２に対応するフォルダ表示部４０３に配置する形で階層構造を表現する。
【００７２】
まず、ファイル管理処理部２１は、画面制御部２８に、図１６に示す階層構造変更画面５００の階層構造表示領域５０１をクリア（初期化）させる（ステップＳ３０１）。ステップＳ３においては、階層データ記憶部３３から取得したデータから階層構造の画面表示を作成するため、既に階層構造表示４０１に表示されている情報（フォルダアイコン等）を全て消去した上で、新たに作成した階層構造を表示する、という手順をとる。なお、階層構造表示領域５０１と、それに対応する階層操作領域５０３については、作成する階層構造の深さに応じて自動的に表示する数が変化する。第１の実施形態においては第３階層までしか表示されていないが、より深い階層構造を作成する際には、必要な階層数の階層構造表示領域５０１と階層操作領域５０３とが表示され、そこにフォルダアイコンが配置される形で階層表示が作成される。
【００７３】
次に、ファイル管理処理部２１は、階層データ記憶部３３からフォルダ位置データを取得し（ステップＳ３０２）、取得したフォルダ位置データに基づいて階層構造を生成し、フォルダを選択可能にした画像データを生成して、画面制御部２８に階層構造変更画面５００の階層構造表示領域５０１に表示させる（ステップＳ３０３）。このステップＳ３０３の処理については詳細を後記する。
【００７４】
そして、ファイル管理処理部２１は、階層データ記憶部３３から取得していない（未取得の）フォルダ位置データがあるか否かの判定を行う（ステップＳ３０４）。
ここで、未取得のフォルダ位置データがある場合（ステップＳ３０４，Ｙｅｓ）、ステップＳ３０２に戻る。
一方、未取得のフォルダ位置データがない場合（ステップＳ３０４，Ｎｏ）、ファイル管理処理部２１は、階層データ記憶部３３に記憶された全てのフォルダ位置データに対して、階層構造の表示を行ったこととなる。そして、ステップＳ４を行う。
【００７５】
《ステップＳ３０３の処理》
図１４は、図１３に示すステップＳ３０３における動作手順を示したフローチャート図である。以下、図１２を例として説明する。
まず、ファイル管理処理部２１は、ステップＳ３０２で取得したフォルダ位置データから第１階層のデータを取得する（ステップＳ４０１）。ここで、「文書」と「２００８」と「業務Ａ」とで構成されるフォルダ位置データ４００の場合、第１階層のデータは「文書」である。
【００７６】
次に、ファイル管理処理部２１は、階層構造表示４０１（階層構造表示領域５０１に対応）において、階層表示部４０２の「第１階層」に対応するフォルダ表示部４０３を確認する。そして、ファイル管理処理部２１は、第１階層のフォルダ表示部４０３に表示されている全てのフォルダアイコン４０４のうち、ステップＳ４０１で取得した第１階層のデータのフォルダ名と同じ名前のフォルダアイコン４０４があるか否かを判定する（ステップＳ４０２）。
【００７７】
取得した第１階層のデータのフォルダ名と同じ名前のフォルダアイコン４０４がない場合（ステップＳ４０２，Ｎｏ）、取得した第１階層のデータが示すフォルダが、第１階層に対応するフォルダ表示部４０３には表示されていないということになる。そこで、ファイル管理処理部２１は、第１階層に対応するフォルダ表示部４０３に、取得した第１階層のデータの名前を付けたフォルダアイコン４０４を生成して新たに表示する（ステップＳ４０３）。そして、次にステップＳ４０４の処理を行う。
【００７８】
一方、取得した第１階層のデータのフォルダ名と同じ名前のフォルダアイコン４０４がある場合（ステップＳ４０２，Ｙｅｓ）、ファイル管理処理部２１は、ステップＳ４０４の処理を行う。
【００７９】
次に、ファイル管理処理部２１は、ステップＳ４０１で取得した第１階層のデータのフォルダ名のフォルダアイコン４０４を「現在のフォルダ」として設定する（ステップＳ４０４）。このフォルダアイコン４０４は、ステップＳ４０３で新たに表示したフォルダアイコン４０４、もしくは、ステップＳ４０３で既にあると判定された（ステップＳ４０３でＹｅｓ）第１階層のデータのフォルダ名と同じ名前のフォルダアイコン４０４である。
この「現在のフォルダ」は第２階層以降の階層表示の処理で用いる。
【００８０】
そして、ファイル管理処理部２１は、階層数を表すＮに２を設定する（ステップＳ４０５）。
【００８１】
ファイル管理処理部２１は、ステップＳ３０２で取得したフォルダ位置データに第Ｎ階層のデータがあるか否かを判定する（ステップＳ４０６）。
フォルダ位置データに第Ｎ階層のデータがない場合（ステップＳ４０６，Ｎｏ）、ファイル管理処理部２１は、ステップＳ３０３の処理を終了し、ステップＳ３０４へ進む。
一方、フォルダ位置データに第Ｎ階層のデータがある場合（ステップＳ４０６，Ｙｅｓ）、ファイル管理処理部２１は、次のステップＳ４０７の処理を行う。
【００８２】
ファイル管理処理部２１は、ステップＳ３０２で取得したフォルダ位置データを構成する第Ｎ階層のデータを取得する（ステップＳ４０７）。例えば、Ｎ＝２のとき、「文書」と「２００８」と「業務Ａ」とで構成されるフォルダ位置データ４００（図１２）から第２階層のデータとして「２００８」を取得する。
【００８３】
次に、ファイル管理処理部２１は、ステップＳ４０４で設定した「現在のフォルダ」を取得し、フォルダ表示部４０３において、「現在のフォルダ」の直下の階層に対応するフォルダ表示部４０３を確認する。そして、ファイル管理処理部２１は、そのフォルダ表示部４０３に表示されている全てのフォルダアイコン４０４のうち、ステップＳ４０７で取得した第Ｎ階層のデータのフォルダ名と同じ名前のフォルダアイコン４０４があるか否かを判定する（ステップＳ４０８）。
取得した第Ｎ階層のデータと同じフォルダ名のフォルダアイコン４０４がある場合（ステップＳ４０８，Ｙｅｓ）、ステップＳ４１０を行う。
【００８４】
一方、取得した第Ｎ階層のデータと同じフォルダ名のフォルダアイコン４０４がない場合（ステップＳ４０８，Ｎｏ）、取得した第Ｎ階層のデータが示すフォルダが、「現在のフォルダ」の直下の階層に対応するフォルダ表示部４０３には表示されていないということになる。そこで、ファイル管理処理部２１は、「現在のフォルダ」の直下の階層に対応するフォルダ表示部４０３に、取得した第Ｎ階層のデータの名前を付けたフォルダアイコン４０４を生成して新たに表示する（ステップＳ４０９）。このとき、ファイル管理処理部２１は、新たに表示したフォルダアイコン４０４と、「現在のフォルダ」のフォルダアイコン４０４との間を線で繋ぎ、新たに表示したフォルダアイコン４０４が「現在のフォルダ」の直下にあることを示す。そして、次のステップＳ４１０を行う。
【００８５】
ここで、図１５を用いて具体的に説明する。
「現在のフォルダ」に第１階層のフォルダ表示部４０３に表示された「文書」が設定され、フォルダ位置データ４００を構成する「文書」と「２０１０」とから、第２階層のデータとして「２０１０」を取得する。ここで、「文書」は第１階層のフォルダ表示部４０３に表示されているため、第２階層についてのフォルダ表示部４０３（図１５（ｂ）の点描部）に表示されているフォルダアイコン４０４（「２００８」と「２００９」と「２０１０」）のうち、「現在のフォルダ」である「文書」と線で繋がっているフォルダと、取得した第２階層のデータ「２０１０」との比較を行う。「２００８」と「２００９」と「２０１０」とは全て「文書」と繋がっているため、取得した第２階層のデータ「２０１０」とは既に「文書」下に表示されていると判断される。
ここで、「２０１０」が表示されていなかったとすると、第２階層についてのフォルダ表示部４０３に新たに「２０１０」を表示して、「文書」と線で繋ぐという表示がなされる。
【００８６】
図１４に戻り、ステップ４０４と同様に、ファイル管理処理部２１は、ステップＳ４０７で取得した第Ｎ階層のデータのフォルダ名のフォルダアイコン４０４を「現在のフォルダ」として設定する（ステップＳ４１０）。
そして、ファイル管理処理部２１は、階層数を表すＮをインクリメント（＋１）し（ステップＳ４１１）、ステップＳ４０６の処理に戻る。
【００８７】
図１５における階層構造表示４０１は、階層データ記憶部３３に格納されたフォルダ位置データが、図１５におけるフォルダ位置データ４００に示される状態であった場合に、その全てのフォルダ位置データに対して、ステップＳ３での階層構造の表示を行った場合の表示結果である。
【００８８】
《ステップＳ４の処理》
図１７は、図３に示すステップＳ４における動作手順を示したフローチャート図である。
ステップＳ４においては、図１６に示される階層構造変更画面５００を表示し、この階層構造変更画面に対して利用者が入力操作を行うことで、第１の実施形態におけるファイル管理システムが管理対象とする階層構造に対して変更を加えることが可能である。具体的には、利用者がマウス等の入力部１４を用いて、画面表示部１３に表示された階層構造変更画面５００におけるボタンの押下、および、表示された項目の選択などを行うことが可能である。
【００８９】
まず、ファイル管理処理部２１は、図１６に示される階層構造変更画面５００の表示を画面表示部１３に対して行う（ステップＳ５０１）。
ここで、階層構造変更画面５００の内部にある、階層構造表示領域５０１には、ステップＳ３で作成した階層構造の表示が表示される。図１６の階層構造表示領域５０１には、図１５で示される階層構造表示４０１が表示されている。
そして、ファイル管理処理部２１は、階層構造変更画面５００にて、利用者により押下されたボタンを判定する（ステップＳ５０２）。これにより、利用者から、階層構造を変更する操作の指示が入力される。
【００９０】
ここで、階層構造変更画面５００において、利用者から入力される階層構造を変更する操作の指示は、追加ボタン押下による「フォルダ追加処理」（ステップＳ５０３）と、削除ボタン押下による「フォルダ削除処理」（ステップＳ５０４）と、移動ボタン押下による「フォルダ移動処理」（ステップＳ５０５）と、入替ボタン押下による「フォルダ階層入替処理」（ステップＳ５０６）との４つの処理のうちいずれか１つを実行させる指示である。それぞれの変更操作については詳細を後記する。
【００９１】
その他に、階層構造変更画面５００には、変更完了ボタン５１７と、キャンセルボタン５１８とがある。
ここで、変更完了ボタン５１７は、終了指示が入力されるボタンである。そのため、利用者により変更完了ボタン５１７が押下されることで、ステップ４の処理を終了し、図３に戻る。変更完了ボタン５１７が押下されたことにより、終了指示が入力された（ステップＳ５）こととなり、ステップＳ６へ進む。
一方、キャンセルボタン５１８を押下することで、（Ａ）を経由して図３に戻り、ファイル管理システムを終了する。
【００９２】
《ステップＳ５０３の処理》
図１８は、図１７に示すステップＳ５０３におけるフォルダ追加処理の動作手順を示したフローチャート図である。
このフォルダ追加処理を実行することで、利用者が指定した階層構造に含まれるフォルダ（追加先フォルダ）の下に、別のフォルダ（追加フォルダ）を追加することができる。ただし、変更後の階層構造への分類を行うため、追加するフォルダ名は階層構造にあるフォルダ名に限定される。全く新しいフォルダを追加しても、追加したフォルダに分類されるファイルを定義することができないためである。
【００９３】
まず、利用者により、階層構造表示領域５０１に表示されるフォルダアイコン４０４から、フォルダが追加されるフォルダアイコン４０４（追加先フォルダ）が選択される（ステップＳ６０１）。この追加先フォルダが先頭フォルダＴｏｐとして指定される。
このとき、階層構造表示領域５０１において、選択された追加先フォルダは他のフォルダとは異なる表示となる。例えば、フォルダを太枠で囲むという表示を行う。すなわち、選択された追加先フォルダと、他フォルダとの区別ができればどのような表示形式でも構わない。
【００９４】
次に、利用者によりフォルダ追加欄５０４が選択されることで、ファイル管理処理部２１は、フォルダ名記憶部３４に格納されているフォルダ名を取得し、フォルダ名をリストにして表示する。利用者は、このリストの中から追加先フォルダに追加したいフォルダ名を選択する。以上の処理により、利用者により、追加先フォルダに追加するフォルダ９のフォルダ名（追加フォルダ名）が選択される（ステップＳ６０４）。これにより、ファイル管理処理部２１は、フォルダ追加欄５０４に追加フォルダ名を表示する。
そして、利用者により追加ボタン５０５が押下されたことを契機に、ファイル管理処理部２１は、フォルダ追加欄５０４に表示された追加フォルダ名を取得する（ステップＳ６０５）。そして、ファイル管理処理部２１は、階層構造変更処理部２３にフォルダ追加処理を実行させる。
【００９５】
（階層構造変更処理部２３によるフォルダ追加処理）
まず、階層構造変更処理部２３は、ステップＳ６０１で選択した追加先フォルダについての位置情報を取得し、追加先フォルダのフォルダ位置データを作成する（ステップＳ６０６）。例えば、選択した追加先フォルダの位置情報が「￥文書￥２００８」であるとき、追加先フォルダのフォルダ位置データとして「文書」「２００８」が作成される。
ここで、フォルダアイコン４０４には位置情報が埋め込まれているとする。
【００９６】
次に、階層構造変更処理部２３は、作成した追加先フォルダのフォルダ位置データの末尾に、ステップＳ６０４で選択した追加フォルダ名を追加して、追加フォルダのフォルダ位置データを生成する（ステップＳ６０７）。前述の例の場合、選択した追加フォルダ名が「業務Ｃ」であるとき、追加フォルダのフォルダ位置データは「文書」「２００８」「業務Ｃ」となる。
【００９７】
続けて、階層構造変更処理部２３は、ステップＳ６０７で作成した追加フォルダのフォルダ位置データと、階層データ記憶部３３に格納されているフォルダ位置データとを比較して、追加フォルダのフォルダ位置データが階層データ記憶部３３に記憶されているか否かを判定する（ステップＳ６０９）。この判定を行って、追加先フォルダに追加フォルダと同じ名前のフォルダ９が格納されているか否かを判定する。
【００９８】
追加先フォルダに同じ名前のフォルダ９が格納されている場合（ステップＳ６０９，Ｙｅｓ）、階層構造変更処理部２３は、フォルダ追加処理を終了し、図１７のステップＳ５０２に戻る。
一方、追加先フォルダに同じ名前のフォルダ９が格納されていない場合（ステップＳ６０９，Ｎｏ）、階層構造変更処理部２３は、追加フォルダのフォルダ位置データを階層データ記憶部３３に格納する（ステップＳ６１０）。これにより、図１９Ａ（ａ）に示すように、階層データ記憶部３３には、追加フォルダのフォルダ位置データ「文書」「２００８」「業務Ｃ」が新しく追加される。
そして、ステップＳ６１０の処理後、階層構造変更処理部２３はフォルダ追加処理を終了し、ファイル管理処理部２１が処理を開始する。
【００９９】
ファイル管理処理部２１は、階層データ記憶部３３に追加されたデータ（追加フォルダのフォルダ位置データ）に基づき、新しく階層構造の表示を作成する処理を行い、階層構造表示領域５０１の表示を更新する（ステップＳ６１１）。ここで、新しく階層構造の表示を作成する処理は、図３のステップＳ３と同じ処理であるため、説明を省略する。
これにより、再び図１７のステップＳ５０１の処理が行われたときに、図１９Ａ（ｂ）に示すように、階層構造表示領域５０１には、追加先フォルダ「２００８」の下に、追加フォルダ「業務Ｃ」がある階層構造の画像が表示される。
【０１００】
ステップＳ６１１の処理後、ファイル管理処理部２１は、階層構造変更処理部２３が行った操作データを変更操作記憶部３６に格納を行う（ステップＳ６１２）。この操作データは、階層構造に対して行った変更操作の内容を記憶するためのデータ形式である。操作データは、図２０（ａ）に示すように、変更操作記憶部３６に格納される。例えば、「操作種別」には“追加”が格納され、「データ１」には追加フォルダのフォルダ位置データである、「“文書”“２００８”“業務Ｃ”」が格納される。そして、図１７のステップＳ５０２に戻る。
【０１０１】
《ステップＳ５０４の処理》
図２１は、図１７に示すステップＳ５０４におけるフォルダ削除処理の動作手順を示したフローチャート図である。
このフォルダ削除処理を実行することで、利用者が指定した階層構造に含まれるフォルダ（削除指定フォルダ）を削除することができる。ここで、削除指定フォルダの下に別のフォルダ９やファイル８がある場合、削除指定フォルダだけが削除され、削除指定フォルダの下にあるフォルダ９やファイル８は、削除指定フォルダがあった階層位置に移動する。
【０１０２】
まず、利用者により、階層構造表示領域５０１に表示されるフォルダアイコン４０４から、フォルダが追加されるフォルダアイコン４０４（削除指定フォルダ）が選択される（ステップＳ７０１）。
このとき、階層構造表示領域５０１において、選択された削除指定フォルダは他のフォルダとは異なる表示となる。
そして、利用者により削除ボタン５０６が押下された（ステップＳ７０２）ことを契機に、ファイル管理処理部２１は、選択された削除指定フォルダ名を取得し、階層構造変更処理部２３にフォルダ削除処理を実行させる。
【０１０３】
次に、階層構造変更処理部２３は、ステップＳ７０２で選択した削除指定フォルダについての位置情報を取得し、削除指定フォルダのフォルダ位置データを生成する（ステップＳ７０３）。
そして、階層構造変更処理部２３は、作成したフォルダ位置データの末尾のデータを削除して、削除後フォルダ位置データを生成する（ステップＳ７０４）。例えば、選択した削除指定フォルダの位置情報が「￥文書￥２０１０」であるとき、削除指定フォルダのフォルダ位置データとして「文書」「２０１０」が生成される。削除指定フォルダのフォルダ位置データから末尾のデータ「２０１０」が削除されて、削除後フォルダ位置データは「文書」となる。
ここで、削除した末尾のデータ「２０１０」は、ステップＳ７０１で選択されたフォルダ（削除指定フォルダ）「２０１０」である。
そして、階層構造変更処理部２３は、削除指定フォルダのフォルダ位置データと、削除後フォルダ位置データとを用いて、削除指定フォルダを削除する（ステップＳ７０５）。
【０１０４】
《ステップＳ７０５の処理》
以下、図２２のフローチャートを用いて説明する。
図２２は、図２１のステップＳ７０５における削除指定フォルダの削除処理の動作手順を示したフローチャート図である。
階層構造変更処理部２３は、階層データ記憶部３３に格納されているフォルダ位置データを取得し（ステップＳ８０１）、階層データ記憶部３３に格納されている全てのフォルダ位置データに対して、以下のステップＳ８０３〜ステップＳ８０５の処理を実行する。
【０１０５】
まず、階層構造変更処理部２３は、ステップＳ８０１で取得したフォルダ位置データ（階層データ記憶部３３に格納されているフォルダ位置データ）と、ステップＳ７０３で作成したフォルダ位置データ（削除指定フォルダのフォルダ位置データ）とを比較して、取得したファイル位置データに削除指定フォルダのフォルダ位置データが含まれるか否かを判定する（ステップＳ８０３）。
【０１０６】
この判定は、削除指定フォルダのフォルダ位置データを構成する各階層のデータと、階層データ記憶部３３に格納されているフォルダ位置データを構成する各階層のデータとを対応する階層毎に比較して、全階層で一致する場合に、削除指定フォルダのフォルダ位置データが階層データ記憶部３３に格納されていると判定する。つまり、ステップＳ８０１で取得したフォルダ位置データのフォルダは、削除指定フォルダから下にあるフォルダであることとなる。
【０１０７】
ここで、この判定処理について、具体的に説明する。
ステップＳ７０３で作成した削除指定フォルダのフォルダ位置データは「文書」「２０１０」で構成され、第１階層のデータが「文書」であり、第２階層のデータが「２０１０」である。そのため、階層データ記憶部３３に、第１階層のデータが「文書」であり、第２階層のデータが「２０１０」であるフォルダ位置データが格納されていれば、ステップＳ８０３の判定においてＹｅｓと判定される。
【０１０８】
ステップＳ８０３の判定において、ステップＳ８０１で取得したフォルダ位置データに、削除指定フォルダのフォルダ位置データが含まれない場合（ステップＳ８０３，Ｎｏ）、次のステップＳ８０６の処理を行う。
【０１０９】
一方、ステップＳ８０３の判定において、ステップＳ８０１で取得したフォルダ位置データが、削除指定フォルダのフォルダ位置データを含む場合（ステップＳ８０３，Ｙｅｓ）、階層構造変更処理部２３は、ステップＳ８０１で取得したフォルダ位置データに対して、削除指定フォルダのフォルダ位置データと一致するデータの部分を、削除後フォルダ位置データに置き換えた、変更したフォルダ位置データを生成する（ステップＳ８０４）。
【０１１０】
ここで、削除指定フォルダのフォルダ位置データは「文書」「２０１０」であり、削除後フォルダ位置データは「文書」である。この削除指定フォルダの「２０１０」の下には「業務Ａ」があり、その下には「部門Ａ」があったとする。そのため、階層データ記憶部３３に格納されているフォルダ位置データには、「文書」「２０１０」と、「文書」「２０１０」「業務Ａ」と、「文書」「２０１０」「業務Ｂ」と、「文書」「２０１０」「業務Ｂ」「部門Ａ」とがあることとなる。
このとき、階層構造変更処理部２３は、ステップＳ８０１で取得したフォルダ位置データの第１階層のデータが「文書」であり、第２階層のデータが「２０１０」であるフォルダ位置データに対して、フォルダ位置データの「文書」「２０１０」の部分を、削除後フォルダ位置データ「文章」に置き換える。すなわち、「文書」「２０１０」であれば、「文書」に置き換えられる。
このように、「文書」「２０１０」「業務Ａ」は、「文書」「業務Ａ」に置き換えられる。「文書」「２０１０」「業務Ｂ」は、「文書」「業務Ｂ」に置き換えられる。「文書」「２０１０」「業務Ｂ」「部門Ａ」は、「文書」「業務Ｂ」「部門Ａ」に置き換えられる。このようにしてフォルダ「２０１０」の下にあったフォルダのフォルダ位置データが置き換えられる。
【０１１１】
フォルダ位置データの置き換えが完了したら、階層構造変更処理部２３は、ステップＳ８０４で生成した、変更したフォルダ位置データを階層データ記憶部３３に再格納する（ステップＳ８０５）。ここで、階層データ記憶部３３に格納されているフォルダ位置データに対して変更を加えているため、変更前のフォルダ位置データを上書きする、あるいは、削除した上で置き換えたフォルダ位置データを追加する、などの方法で、階層構造変更処理部２３は、削除指定フォルダのフォルダ位置データを階層データ記憶部３３から削除する。そして、次のステップＳ８０６の判定処理を行う。
【０１１２】
階層構造情報取得部２２は、階層データ記憶部３３からまだ取得していないフォルダ位置データがあるか否かの判定を行う（ステップＳ８０６）。
まだ取得していないフォルダ位置データがあるならば（ステップＳ８０６，Ｙｅｓ）、ステップＳ８０１に戻る。
一方、取得していないフォルダ位置データがないならば（ステップＳ８０６，Ｎｏ）、削除指定フォルダの削除処理を終了し、図２１のステップＳ７０６の処理を行う。
【０１１３】
図２１に戻り、説明を続ける。
そして、ステップＳ７０５の処理後、階層構造変更処理部２３は削除指定フォルダの削除処理を終了し、ファイル管理処理部２１が処理を開始する。
【０１１４】
ファイル管理処理部２１は、ステップＳ６１１と同様に、階層データ記憶部３３に格納されたデータに基づき、新しく階層構造の表示を作成する処理を行い、階層構造表示領域５０１の表示を更新する（ステップＳ７０６）。ここで、新しく階層構造の表示を作成する処理は、図３のステップＳ３と同じ処理であるため、説明を省略する。
【０１１５】
ステップＳ７０６の処理後、ファイル管理処理部２１は、階層構造変更処理部２３が行った操作データを変更操作記憶部３６に格納を行う（ステップＳ７０７）。操作データは、図２０（ｂ）に示すように、変更操作記憶部３６に格納される。例えば、「操作種別」には“削除”が格納され、「データ１」には、削除指定フォルダのフォルダ位置データである「“文書”“２０１０”」が格納され、「データ２」には削除後フォルダ位置データである「“文書”」が格納される。そして、図１７のステップＳ５０２に戻る。
【０１１６】
《ステップＳ５０５の処理》
図２３は、図１７に示すステップＳ５０５におけるフォルダ移動処理の動作手順を示したフローチャート図である。
このフォルダ移動処理を実行することで、利用者が階層構造に含まれるフォルダから、移動元のフォルダ（移動元フォルダ）と、移動先のフォルダ（移動先フォルダ）とを指定することで、移動元フォルダを移動先フォルダの下に移動できる。ここで、移動元フォルダと移動先フォルダとは別のフォルダである。
移動元フォルダの下に別のフォルダやファイルがある場合、それらのフォルダやファイルも、移動元フォルダと共に移動する。
【０１１７】
まず、利用者により、図１６に示す階層構造表示領域５０１に表示されるフォルダアイコン４０４（図１５参照）から、移動対象のフォルダアイコン４０４（移動元フォルダ）が選択される（ステップＳ９０１）。このとき、階層構造表示領域５０１において、選択された移動元フォルダは他のフォルダとは異なる表示となる。例えば、フォルダを太枠で囲むという表示を行う。
次に、利用者により移動元選択ボタン５０７が押下される（ステップＳ９０２）。このことを契機に、ファイル管理処理部２１は、選択された移動元フォルダの位置情報を取得して、移動元フォルダ欄５０８に位置情報を表示する（ステップＳ９０３）。
【０１１８】
次に、利用者は移動元フォルダの移動先となるフォルダの選択を行う。
ステップＳ９０１〜ステップＳ９０３で行った移動元フォルダを選択する処理と同様に、利用者により、階層構造表示領域５０１に表示されるフォルダアイコン４０４から、移動先フォルダが選択され（ステップＳ９０４）、移動先選択ボタン５０９が押下される（ステップＳ９０５）。このことを契機に、ファイル管理処理部２１は、選択された移動先フォルダの位置情報を取得して、移動先フォルダ欄５１０に位置情報を表示する（ステップＳ９０６）。
なお、ステップＳ９０１〜ステップＳ９０３、および、ステップＳ９０４〜ステップＳ９０６は順番を逆にして、先に移動先フォルダを選択する順番で実行しても構わない。
【０１１９】
そして、階層操作領域５０３にて、利用者により移動ボタン５１１が押下された（ステップＳ９０７）ことを契機に、ファイル管理処理部２１は、階層構造変更処理部２３に処理を実行させる。
【０１２０】
そして、階層構造変更処理部２３は、移動ボタン５１１が押下される前に、移動元フォルダと移動先フォルダとが選択されたか否かを確認するため、ステップＳ９０８とステップＳ９０９を実行して判定する。
まず、階層構造変更処理部２３は、移動元フォルダが選択されたか否かの判定処理を行い（ステップＳ９０８）、次に、階層構造変更処理部２３は、移動先フォルダが選択されたか否かの判定処理を行う（ステップＳ９０９）。ここで、階層構造変更処理部２３は、ステップＳ９０９の判定処理を移動元フォルダの位置情報を取得できたか否か、ステップＳ９１０の判定処理を移動先フォルダの位置情報を取得できたか否かで行う。
【０１２１】
ステップＳ９０８の判定処理にて、移動元フォルダの位置情報を取得していないとき（ステップＳ９０８，Ｎｏ）、階層構造変更処理部２３は、ステップＳ９０１に戻り、移動元フォルダの選択を促す。
ステップＳ９０９の判定処理にて、移動先フォルダの位置情報を取得していないとき（ステップＳ９０９，Ｎｏ）、階層構造変更処理部２３は、ステップＳ９０４に戻り、移動先フォルダの選択を促す。
【０１２２】
一方、移動元フォルダの位置情報を取得しており（ステップＳ９０８，Ｙｅｓ）、かつ、移動先フォルダの位置情報も取得しているとき（ステップＳ９０９，Ｙｅｓ）、階層構造変更処理部２３は次のステップＳ９１０の処理を行う。
ここで、階層操作領域５０３にて、移動元フォルダ欄５０８と移動先フォルダ欄５１０とに位置情報が表示されている状態であれば、利用者により移動ボタン５１１が押下されたとき、階層構造変更処理部２３は、移動元フォルダの位置情報と、移動先フォルダの位置情報とを取得することができる。
【０１２３】
階層構造変更処理部２３は、移動元フォルダの位置情報（移動元フォルダ欄５０８に表示された位置情報）から、移動元フォルダのフォルダ位置データを作成する（ステップＳ９１０）。同様に、階層構造変更処理部２３は、移動先フォルダの位置情報（移動先フォルダ欄５１０に表示された位置情報）から、移動先フォルダのフォルダ位置データを生成する（ステップＳ９１１）。
【０１２４】
次に、階層構造変更処理部２３は、移動先フォルダのフォルダ位置データの末尾に、移動元フォルダのフォルダ位置データの末尾のデータを追加する（ステップＳ９１２）。つまり、移動先フォルダの直下に移動元フォルダを生成する。
続いて、階層構造変更処理部２３は、移動元フォルダのフォルダ位置データの末尾のデータを削除したフォルダ位置データを、移動元フォルダのフォルダ位置データとは別に作成する（ステップＳ９１３）。このステップＳ９１３で作成するフォルダ位置データは、移動元フォルダが所属するフォルダ（１階層直上のフォルダ）のフォルダ位置データ（移動元階層上フォルダ位置データ）である。この移動元階層上フォルダ位置データは、フォルダ移動処理により移動元フォルダがある階層構造の情報が消える可能性があるため用意しておく。
そして、階層構造変更処理部２３がフォルダ移動処理を実行開始する（ステップＳ９１４）。
【０１２５】
《ステップＳ９１４の処理》
図２４は、図２３に示すステップＳ９１４におけるフォルダ移動処理の動作手順を示したフローチャート図である。
【０１２６】
まず、階層構造変更処理部２３は、階層データ記憶部３３に格納されているフォルダ位置データを取得し（ステップＳ１００１）、取得した全てのフォルダ位置データに対して以下のステップＳ１００３〜ステップＳ１００５の処理を実行する。
なお、ステップＳ１００３〜ステップＳ１００５の処理は扱うデータを除いてステップＳ８０３〜ステップＳ８０５の処理と同様であるので、詳細な説明を省略する。
【０１２７】
階層構造変更処理部２３は、ステップＳ１００１で取得したフォルダ位置データ（階層データ記憶部３３に格納されているフォルダ位置データ）と、ステップＳ９１０で作成した移動元フォルダ位置データとを比較して、取得したフォルダ位置データに移動元フォルダ位置データが含まれるか否かを判定する（ステップＳ１００３）。
【０１２８】
ステップＳ１００１で取得したフォルダ位置データに移動元フォルダ位置データが含まれない場合（ステップＳ１００３，Ｎｏ）、次のステップＳ１００６の処理を行う。
【０１２９】
一方、ステップＳ１００１で取得したフォルダ位置データに移動元フォルダ位置データを含む場合（ステップＳ１００３，Ｙｅｓ）、階層構造変更処理部２３は、ステップＳ１００１で取得したフォルダ位置データに対して、移動元フォルダ位置データと一致するデータの部分を、ステップＳ９１１で生成した移動先フォルダ位置データに置き換えた、変更したフォルダ位置データを生成する（ステップＳ１００４）。
階層構造変更処理部２３は、フォルダ位置データの置き換えが完了したら、ステップＳ１００４で生成した、変更したフォルダ位置データを階層データ記憶部３３に再格納する（ステップＳ１００５）。
そして、次のステップＳ１００６の判定処理を行う。
【０１３０】
階層構造情報取得部２２は、階層データ記憶部３３からまだ取得していないフォルダ位置データがあるか否かの判定を行う（ステップＳ１００６）。
まだ取得していないフォルダ位置データがあるならば（ステップＳ１００６，Ｙｅｓ）、ステップＳ１００１に戻る。
一方、取得していないフォルダ位置データがないならば（ステップＳ１００６，Ｎｏ）、階層構造変更処理部２３は、ステップＳ９１３で作成したフォルダ位置データ（移動元階層上フォルダ位置データ）を階層データ記憶部３３に格納し（ステップＳ１００７）、ステップＳ９１４のフォルダ移動処理を終了し、図２３のステップＳ９１５の処理を行う。
【０１３１】
図２３に戻り、説明を続ける。
ステップＳ９１４のフォルダ移動処理により、階層データ記憶部３３のフォルダ位置データが変更されたため、フォルダ追加処理におけるステップＳ６１１と同様に、階層データ記憶部３３に格納したデータに基づき、新しく階層構造の表示を作成する処理を行うため、図３のステップＳ３と同じ処理を行う（ステップＳ９１５）。これにより、階層構造変更画面５００の階層構造表示領域５０１において、「文書」「２００９」「業務Ａ」で構成されるフォルダ位置データが、「文書」「２００８」「業務Ａ」に置き換えられる。変更後のフォルダ位置データ４００から生成される階層構造表示４０１においても、「文書」「２００９」の下の「業務Ａ」が消えていることが確認できる。
【０１３２】
階層構造の再表示が完了したら、続いて変更操作記憶部３６に対して、操作データの格納を行う（ステップＳ９１６）。操作データは、図２０（ｃ）に示すように、変更操作記憶部３６に記憶される。そして、フォルダ移動処理を完了し、図１７のステップＳ５０２に戻る。
【０１３３】
《フォルダ階層入替処理》
図２５は、図１７に示すステップＳ５０６におけるフォルダ階層入替処理の動作手順を示したフローチャート図である。
ここでフォルダ階層入替処理とは、階層構造における階層単位でフォルダを入れ替える処理である。このフォルダ階層入替処理を実行することで、利用者が指定した２つのフォルダの階層を入れ替えることができる。
【０１３４】
このフォルダ階層入替処理は、入替対象のフォルダ以下の階層にあるファイルおよびフォルダのアドレスを変更することで実現できる。ここで、アドレスを変更するとしているが、本実施形態においてフォルダ階層入替処理は、「￥」で区切られたアドレスを「￥」で分割したファイル位置データを用いて行う。例えば、フォルダ９１Ｃのルートフォルダ９Ａからのアドレスが「￥９Ａ￥９１Ｂ￥ＸＹＺ￥９１Ｃ」である場合、フォルダ９１Ｃのファイル位置データは「９Ａ」「９１Ｂ」「ＸＹＺ」「９１Ｃ」である。
このファイル位置データからは、第１階層のフォルダが「９Ａ」、第２階層のフォルダが「９１Ｂ」、第３階層のフォルダが「ＸＹＺ」、第４階層のフォルダが「９１Ｃ」という情報を得ることもできる。
以下、フォルダ階層入替処理の概要について説明するが、便宜上、ファイル位置データではなく、アドレスを用いて説明する。
【０１３５】
（フォルダ階層入替処理の概要）
フォルダ階層入替処理において、利用者が２つのフォルダを指定する。ここで指定される２つのフォルダを、上位層にあるフォルダをフォルダ９Ｂとし、下位層にあるフォルダをフォルダ９Ｃとする。指定したフォルダ９Ｂの直上のフォルダ９Ａをルートフォルダ（ルートディレクトリ）とするツリー構造において、フォルダ９Ａより下のフォルダ、すなわち、フォルダアドレスにフォルダ９Ａのフォルダ名を含むファイルおよびフォルダが、フォルダ階層入替処理の対象となる。これらファイルおよびフォルダのアドレスが変更されることでフォルダ階層入替処理が実現される。
【０１３６】
フォルダ９Ａの直下の複数のフォルダ９Ｂ（９１Ｂ，９２Ｂ，・・・）（上位層のフォルダ）と、そのフォルダ９Ｂよりｎ階層下にある同一階層の複数のフォルダ９Ｃ（９１Ｃ，９２Ｃ，・・・）（下位層のフォルダ）とを入れ替える場合について説明する。ここで、フォルダ９１Ｂのアドレスは、「…￥９Ａ￥９１Ｂ」であり、フォルダ９１Ｃのアドレスは、「…￥９Ａ￥９１Ｂ￥ＸＹＺ￥９１Ｃ」であるとする。
フォルダ階層入替処理を実行することで、フォルダ９１Ｃのアドレスは９Ａ以下の「￥９１Ｂ￥ＸＹＺ」が削除され「…￥９Ａ￥９１Ｃ」となる。一方、フォルダ９１Ｂのアドレスは、９Ａ以下に「￥９１Ｃ￥ＸＹＺ」が追加され「…￥９Ａ￥９１Ｃ￥ＸＹＺ￥９１Ｂ」となる。そして、入れ替え前におけるフォルダ９１Ｃより上位層にあり、９１Ｂより下位層にあるフォルダ（ここでは、フォルダＸＹＺ）は、フォルダ階層入替処理によりアドレスに含まれる、上位層のフォルダ名「９１Ｂ」が下位層のフォルダ名「９１Ｃ」に置き換えられる。すなわち、フォルダＸＹＺのアドレスは、フォルダ階層入替処理により、「…￥９Ａ￥９１Ｂ￥ＸＹＺ」から「…￥９Ａ￥９１Ｃ￥ＸＹＺ」に変更される。
【０１３７】
このようにして、上位層にあるフォルダ（入替対象上位層フォルダ）の階層と、下位層にあるフォルダ（入替対象下位層フォルダ）の階層とを入れ替える処理を行う。これにより、入替対象上位層フォルダと同一階層にある全てのフォルダ（すなわち、入替対象上位層フォルダの直上のフォルダの直下にある全てのフォルダ）に対して、入替対象下位層フォルダと同一階層にある全てのフォルダにおいて階層関係にあるフォルダとが入れ替わる。
【０１３８】
図１９Ａ（ｂ）と図１９Ｂ（ｂ）は、フォルダ階層入替処理を行ったときの入れ替え前後の階層構造の表示例を示す。図１９Ｂ（ｂ）は、第２階層と第３階層とを入れ替えた後の例である。
なお、入替対象上位層フォルダが、入替対象下位層フォルダと階層関係にない場合（つまり、入替対象下位層フォルダのアドレスに、入替対象上位層フォルダのフォルダ名が含まれない場合）、入れ替えない。図１９Ｂの例においては、第２階層に表示されている（「文書」の下の）「２０１０」には、「２０１０」の下にフォルダ、すなわち第３階層のフォルダがない。そのため、第２階層と第３階層との入れ替えが行われず、「２０１０」は、第２階層に表示されたままとなる。
【０１３９】
《ステップＳ５０６の処理》
図２５に戻り、図１７に示すステップＳ５０６におけるフォルダ階層入替処理の動作手順について説明する。
まず、利用者は、階層構造表示領域５０１に表示されたフォルダを選択して、入替対象上位層フォルダを選択する（ステップＳ１１０１）。これにより、入替対象上位層フォルダの階層が指定される。このとき、階層構造表示領域５０１において、選択された入替対象上位層フォルダは他のフォルダとは異なる表示となる。例えば、フォルダを太枠で囲むという表示を行う。
【０１４０】
入替対象上位層フォルダを指定後、利用者は、階層操作領域５０３の入替上位層選択ボタン５１２を押下する（ステップＳ１１０２）。階層構造変更処理部２３は、階層データ記憶部３３から、ステップＳ１１０１で指定された入替対象上位層フォルダのフォルダ位置データの末尾のデータの階層情報を取得し、ステップＳ１１０１で指定された入替対象上位層フォルダが存在する階層を入替対象上位層階層表示欄５１３に表示する（ステップＳ１１０３）。
【０１４１】
次に、利用者は、階層構造表示領域５０１に表示されたフォルダを選択して、入替対象下位層フォルダを指定する（ステップＳ１１０４）。これにより、入替対象下位層フォルダの階層が指定される。このとき、階層構造表示領域５０１において、選択された入替対象下位層は、ステップＳ１１０１で選択された入替対象上位層フォルダと同様に、他のフォルダとは異なる表示となる。例えば、フォルダを太枠で囲むという表示を行う。
【０１４２】
入替対象下位層フォルダを指定後、利用者は、階層操作領域５０３の入替下位層選択ボタン５１４を押下する（ステップＳ１１０５）。階層構造変更処理部２３は、階層データ記憶部３３から、ステップＳ１１０５で指定された入替対象下位層フォルダのフォルダ位置データの末尾のデータの階層情報を取得し、入替対象下位層階層表示欄５１５に表示する（ステップＳ１１０６）。
なお、ステップＳ１１０１〜ステップＳ１１０３、および、ステップＳ１１０４〜ステップＳ１１０６は順番を逆にして、先に入替対象下位層フォルダを選択する順番で実行しても構わない。
【０１４３】
そして、階層操作領域５０３にて、利用者により入替ボタン５１６が押下される（ステップＳ１１０７）ことで、階層構造変更処理部２３は、入替対象上位層フォルダの階層情報および入替対象下位層フォルダの階層情報の両方を取得したか否かを確認するための判定処理（ステップＳ１１０９）を行う。
入替対象上位層フォルダの階層情報および入替対象下位層フォルダの階層情報のうち何れか一方もしくは両方を取得していないとき（ステップＳ１１０９，Ｎｏ）、ステップＳ１１０１に戻り、入替対象下位層フォルダの指定、入替対象上位層フォルダの指定を促す。
【０１４４】
一方、入替対象上位層フォルダの階層情報および入替対象下位層フォルダの階層情報の両方を取得しているとき（ステップＳ１１０９，Ｙｅｓ）、階層構造変更処理部２３がフォルダ階層入替処理を実行開始する。
まず、図１６に示す階層構造変更画面５００において、階層構造変更処理部２３は、入替対象上位層階層表示欄５１３に表示された階層の数値を変数Ｎに格納する。同様に、入替対象下位層階層表示欄５１５に表示された階層の数値を変数Ｍに格納する（ステップＳ１１１０）。例えば、図１６に示す階層構造変更画面５００において、入替対象上位層階層表示欄５１３には「第２階層」が表示され、そこから変数Ｎには２が設定される。また、入替対象下位層階層表示欄５１５には「第３階層」が表示され、そこから変数Ｍには３が設定される。
【０１４５】
続いて、階層データ記憶部３３に格納されたフォルダ位置データに対してフォルダ階層の入替処理を行う。
まず、階層構造変更処理部２３は、階層データ記憶部３３に格納されているフォルダ位置データを取得する（ステップＳ１１１１）。そして、取得した全てのフォルダ位置データに対して以下のステップＳ１１１３〜ステップＳ１１１５の処理を実行する。
【０１４６】
階層構造変更処理部２３は、ステップＳ１１１１で取得したフォルダ位置データのデータ数（階層数に相当（図１２参照））と、ステップＳ１１１０で設定した変数Ｎの値および変数Ｍの値とを比較し、フォルダ位置データのデータ数が、変数Ｎの値以上であり、かつ、変数Ｍの値以上であるか否かを判定する（ステップＳ１１１３）。
【０１４７】
ステップＳ１１１３の判定において、条件を満たさないとき（ステップＳ１１１３，Ｎｏ）、すなわち、フォルダ位置データのデータ数が変数Ｎの値より小さい、または、フォルダ位置データのデータ数が変数Ｍの値より小さいとき、ステップＳ１１１６の処理を行う。
【０１４８】
ステップＳ１１１３の判定において、条件を満たすとき（ステップＳ１１１３，Ｙｅｓ）、すなわち、フォルダ位置データのデータ数が、変数Ｎの値以上であり、かつ、変数Ｍの値以上であるとき、階層構造変更処理部２３は、ステップＳ１１１１で取得したフォルダ位置データにおいて、第Ｎ階層のデータと第Ｍ階層のデータの入れ替え（順番の交換）を行って、変更したフォルダ位置データを生成する（ステップＳ１１１４）。そして、階層構造変更処理部２３は、その変更したフォルダ位置データを階層データ記憶部３３に再格納する（ステップＳ１１１５）。
【０１４９】
そして、階層構造変更処理部２３は、階層データ記憶部３３から取得していないフォルダ位置データがあるか否かの判定を行う（ステップＳ１１１６）。
未取得のフォルダ位置データがあるとき（ステップＳ１１１６，Ｙｅｓ）、ステップＳ１１１１に戻る。
一方、未取得のフォルダ位置データがないとき（ステップＳ１１１６，Ｎｏ）、次のステップＳ１１１７を行う。
【０１５０】
階層構造変更処理部２３は、階層データ記憶部３３の階層が入れ替えられたフォルダ位置データに基づき、新しく階層構造の表示を作成する処理を行うため、図３のステップＳ３と同じ処理を行う（ステップＳ１１１７）。
【０１５１】
図１９Ａ（ａ）は、フォルダ階層入替処理前の階層データ記憶部３３に記憶されたフォルダ位置データを示す図である。図１９Ａ（ｂ）はフォルダ階層入替処理前の階層構造表示４０１を示す図である。そして、図１９Ｂ（ａ）はフォルダ階層入替処理後の階層データ記憶部３３に記憶されたフォルダ位置データを示す図である。図１９Ｂ（ｂ）はフォルダ階層入替処理後の階層構造表示４０１を示す図である。
フォルダ階層入替処理を行うことで、データ数が３以上のフォルダ位置データに対して、第２階層のデータと第３階層のデータとの入れ替えが行われ、変更後のフォルダ位置データ４００から生成される階層構造表示４０１においても、第２階層と第３階層との入れ替えが行われる。
【０１５２】
ステップＳ１１１７の処理後、階層構造の再表示が完了したら、階層構造変更処理部２３は、続いて変更操作記憶部３６に対して、操作データの格納を行う（ステップＳ１１１８）。操作データは、階層構造に対しての変更操作について、行った変更の内容を記憶するためのデータ形式である。操作データは、図２０（ｄ）に示すように、変更操作記憶部３６に記憶される。
【０１５３】
以上、４種類の階層構造変更操作（フォルダ追加処理、フォルダ削除処理、フォルダ移動処理、フォルダ階層入替処理）を利用者が自由に実行した後、階層操作領域５０３の変更完了ボタン５１７を押下することで、階層構造の変更が完了する（ステップＳ５）。
【０１５４】
《ステップＳ６の処理》
続いて、図３に示すステップＳ６について説明する。
ステップＳ６においては、ファイル管理システムがステップＳ４で変更した階層構造を作成する位置（作成先フォルダＡｄｄ）を、利用者が入力する。図４に示すように、ステップＳ１で指定した先頭位置（先頭フォルダＴｏｐ）以下の階層構造に対してステップＳ４で変更操作を加えた階層構造を、ステップＳ６で指定する作成先フォルダＡｄｄの下に作成する。
ここで、ステップＳ６における動作手順は、ステップＳ１において階層構造の先頭位置を指定する手順と基本的に同一であり、ステップＳ１０２の処理が次の点で異なる。ステップＳ１０２の処理において、利用者が入力する変更後の階層構造の作成先フォルダが、ステップＳ１では階層構造の先頭位置（先頭フォルダ）なのに対して、ステップＳ６では変更後の階層構造の作成開始位置（作成先フォルダ）である。この点だけなので、ステップＳ６についての説明を省略する。
【０１５５】
《ステップＳ７の処理》
続いて、図３に示すステップＳ７について図２６を用いて説明する。
図２６は、図３に示すステップＳ７における動作手順を示したフローチャート図である。ステップＳ７において、ステップＳ４で変更操作を加えた階層構造の作成、および、作成した階層構造に対してファイルの分類を行うことで、変更後の階層構造の作成を行う。
まず、階層構造変更処理部２３は、位置情報記憶部３５からステップＳ６で設定した変更後の階層構造の作成開始位置（作成先フォルダの位置情報）を取得する（ステップＳ１２０１）。続いて、階層構造変更処理部２３は、階層データ記憶部３３に格納されているフォルダ位置データを取得する（ステップＳ１２０２）。そして、取得した全てのフォルダ位置データに対して後記するフォルダ作成処理（図２７）を行う（ステップＳ１２０４）。
【０１５６】
フォルダ作成処理においては、階層構造ファイル３１が示す階層構造において、ステップＳ１２０１で取得した作成先フォルダの下に、階層データ記憶部３３から取得したフォルダ位置データに基づいてフォルダを作成する。
図２に示す階層構造で構成される階層構造ファイル３１に対して、作成先フォルダとして「階層Ｂ」を指定し、フォルダ位置データ４００に基づいてフォルダ作成を行うことで、図３３に示す階層構造が生成される。図３３に示すように、元からある階層構造とは別に、作成位置として指定した作成先フォルダの下に、ステップＳ４で変更操作を加えたフォルダ位置データに基づいて、フォルダが作成される。
【０１５７】
《ステップＳ１２０４の処理》
図２７は、図２６に示すステップＳ１２０４におけるフォルダ作成処理の動作手順を示したフローチャート図である。
まず、階層構造変更処理部２３は、ステップＳ１２０１で取得した作成開始位置（作成先フォルダ）を「現在のフォルダ」として設定し（ステップＳ１３０１）、ステップＳ１２０２で取得したフォルダ位置データのデータ階層を表す変数Ｎに１を設定する（ステップＳ１３０２）。このとき、階層構造変更処理部２３は、作成先フォルダが示す階層構造ファイル３１のフォルダを開始位置として、フォルダ位置データの第１階層のデータから階層順にフォルダを作成する。階層構造変更処理部２３は、ステップＳ１２０２で取得したフォルダ位置データの第Ｎ階層のデータを取得する（ステップＳ１３０３）。そして、階層構造変更処理部２３は、階層構造ファイル３１における「現在のフォルダ」が示すフォルダ下に、ステップＳ１３０３で取得した第Ｎ階層のデータと同じ名前のフォルダがあるか否か確認する（ステップＳ１３０４）。
【０１５８】
同じ名前のフォルダがない場合（ステップＳ１３０４，Ｎｏ）、階層構造変更処理部２３は、階層構造ファイル３１における「現在のフォルダ」が示すフォルダ下に、ステップＳ１３０３で取得した第Ｎ階層のデータの名前のフォルダを新たに作成する（ステップＳ１３０５）。
一方、同じ名前のフォルダがある場合（ステップＳ１３０４，Ｙｅｓ）、階層構造変更処理部２３は、フォルダ作成を行わない。続いて、ステップＳ１３０５で作成した、あるいは、ステップＳ１３０４で確認した第Ｎ階層のデータと同じ名前のフォルダを、新たに「現在のフォルダ」として設定し（ステップＳ１３０６）、データ階層を表す変数Ｎに１を加える（ステップＳ１３０７）。
【０１５９】
そして、階層構造変更処理部２３は、ステップＳ１２０２で取得したフォルダ位置データの最後のデータ（最後の階層のデータ）を取得したか否かを判定し（ステップＳ１３０８）、取得していなければ（ステップＳ１３０８，Ｙｅｓ）、階層構造変更処理部２３は、その最後の階層のデータを取得するまで、ステップＳ１３０３〜ステップＳ１３０７を繰り返し、フォルダを作成する。そして、階層構造変更処理部２３は、ステップＳ１２０２で取得したフォルダ位置データの最後のデータ（最後の階層のデータ）のフォルダを作成した後（ステップＳ１３０８，Ｎｏ）、図２６のステップＳ１２０５の処理を行う。
【０１６０】
図３３を用いて、図２で示される階層構造で管理された階層構造ファイル３１に対して、作成位置として「階層Ｂ」フォルダを指定し、フォルダ位置データ４００に基づいてフォルダ作成を行った場合のステップＳ１３０１〜ステップＳ１３０５の処理の流れを説明する。Ｎ＝１の時、フォルダ位置データの第１階層のデータは「文書」となり、「階層Ｂ」フォルダ下に「文書」フォルダがないならば、新たに「文書」フォルダを作成する。続いてＮに１を加えてＮ＝２となり、第２階層のデータ「２００８」が、先ほど作成した「文書」フォルダ下にあるか否かを確認する…というように処理を繰り返してフォルダを生成する。
【０１６１】
図２６に戻る。
ステップＳ１２０４の処理の後、階層構造変更処理部２３は、次のフォルダ位置データを取得可能か判定する（ステップＳ１２０５）。
取得可能であれば（ステップＳ１２０５，Ｙｅｓ）、ステップＳ１２０２に戻る。
一方、階層データ記憶部３３から取得した全てのフォルダ位置データに対してフォルダ作成処理が完了したら（ステップＳ１２０５，Ｎｏ）、階層構造変更処理部２３は、次のファイル分類処理において、分類できなかったファイルを分類するための「未分類フォルダ」を作成する（ステップＳ１２０６）。
【０１６２】
この「未分類フォルダ」は、階層構造ファイル３１が示す階層構造において、ステップＳ１２０１で取得した作成先フォルダの下にフォルダとして作成し、同じく作成先フォルダの下にあるフォルダ（ステップＳ１２０４で作成したフォルダ等）とは異なる名前のフォルダとして作成する。
【０１６３】
未分類フォルダ作成後、次にファイルの分類を行う。
まず、階層構造変更処理部２３は、ファイルデータ記憶部３２に格納されているファイルデータを取得し（ステップＳ１２０７）、そのファイルデータに含まれる、ファイル位置データを「変更ファイル位置データ」として取得する（ステップＳ１２０８）。
この「変更ファイル位置データ」は、以下のファイル位置データ変更操作処理で変化するため、取得したファイル位置データとは別のデータとして扱う。
【０１６４】
そして、ステップＳ１２０７で取得した全てのファイルデータに対して、階層構造変更処理部２３は、以下のステップＳ１２０９〜ステップＳ１２１１のファイル分類処理を行う。このファイル分類処理は以下の３つの処理に大別される。
【０１６５】
まず、階層構造変更処理部２３は、取得したファイルデータのファイル位置データに対して、ステップＳ４で階層構造に対して行った変更操作と同様の操作を加えた、「変更ファイル位置データ」を作成するという第１の処理を行う（ステップＳ１２０９（図２８））。次に、階層構造変更処理部２３は、作成した「変更ファイル位置データ」を用いて、作成先フォルダ以下の階層構造におけるファイルの格納先を決定するという第２の処理を行う（ステップＳ１２１０（図３１））。最後に、階層構造変更処理部２３は、決定した格納先へとファイルを格納（分類）するという第３の処理を行う（ステップＳ１２１１（図３２））。それぞれの処理については以下で別図を用いて説明する。
【０１６６】
《ステップＳ１２０９の処理》
図２８は、図２６に示すステップＳ１２０９のファイル位置データ変更操作処理の動作手順を示したフローチャート図である。
ファイル位置データに対しての変更は、ステップＳ４における変更操作において、変更操作完了後に格納していた操作データを用いて行う。階層データ記憶部３３に格納されたフォルダ位置データに対しての変更操作と同じように、ファイル位置データに対しても変更操作を行うことで、階層構造への変更操作によるファイル位置の変化が再現できる。
【０１６７】
なお、第１の実施形態においては、ステップＳ４での変更操作では階層のデータに対してのみ変更操作を行い、その変更操作の内容を操作データとして記録しておき、全ての変更操作が完了した後に、操作データを用いてファイル位置データに対しても変更操作を行う、という手順をとっているが、操作データを記憶せず、ステップＳ４で利用者が変更操作を行うたびに、階層のデータとファイルデータの両方に対して変更操作を行う方法を用いても構わない。
【０１６８】
ファイル位置データ変更操作処理において、まず、階層構造変更処理部２３は、変更操作記憶部３６から操作データを取得する（ステップＳ１４０１）。この時、操作データはステップＳ４において変更操作が実行される毎に順番に格納されるデータであるため、格納された順番で操作データを取得することで、変更操作が実行された順番の通りに操作データを取得し、変更操作を行うことができる。
【０１６９】
次に、階層構造変更処理部２３は、取得した操作データから「操作種別」を取得し（ステップＳ１４０２）、「操作種別」を判定する（ステップＳ１４０３）。この「捜査種別」によって変更操作の内容が異なるため、処理を分岐する。
【０１７０】
ここで「操作種別」が「追加」である場合、階層構造変更処理部２３は、ファイル位置データヘの変更は行わない。これは、階層構造へのフォルダ追加処理が、階層構造内に新たなフォルダを追加する操作であり、階層構造内に既にあるファイル、および、フォルダの位置が変更するような操作ではないためである。
一方、追加以外の削除、移動、入替である場合、階層構造変更処理部２３は、階層構造内にあるフォルダに対して削除、移動、入替の操作が起こるため、ファイル、および、フォルダの位置も変化し、ファイル位置データ、および、フォルダ位置データを変更する必要がある。
【０１７１】
ステップＳ１４０３の判定において、「操作種別」が「削除」または「移動」である場合、階層構造変更処理部２３は、ファイル位置データ置き換え処理を実行する（ステップＳ１４０４（図２９））。「操作種別」が「入替」である場合、ファイル位置データ入替処理を実行する（ステップＳ１４０５（図３０））。分岐処理が完了したら、順番通りに次の操作データを取得し、変更操作記憶部３６から取得した全ての操作データについて、ファイル位置データの変更処理を繰り返す（ステップＳ１４０６）。
【０１７２】
《ステップＳ１４０４の処理》
図２９は、図２８に示すステップＳ１４０４におけるファイル位置データ置き換え処理の動作手順を示したフローチャート図である。
階層構造変更処理部２３は、ステップＳ１４０１で取得した操作データの「データ１」を変更前データ、「データ２」を変更後データとして取得し（ステップＳ１５０１）、「変更ファイル位置データ」が変更前データを含むか否か確認する（ステップＳ１５０２）。
【０１７３】
「変更ファイル位置データ」が変更前データを含む場合（ステップＳ１５０２，Ｙｅｓ）、階層構造変更処理部２３は、「変更ファイル位置データ」に含まれる変更前データの部分を、変更後データに置き換える（ステップＳ１５０３）。
一方、「変更ファイル位置データ」が変更前データを含まない場合（ステップＳ１５０２，Ｎｏ）、階層構造変更処理部２３は、「変更ファイル位置データ」を変更しない。
【０１７４】
このファイル位置データ置き換え処理は、図２２に示すフォルダ削除処理において、フォルダ位置データからフォルダを削除する処理や、図２４に示すフォルダ移動処理において、フォルダ位置データを移動前の位置から移動後の位置に変更する処理に相当する変更操作を、ファイル位置データに対して行うものである。
【０１７５】
《ステップＳ１４０５の処理》
図３０は、図２８に示すステップＳ１４０５におけるファイル位置データ入替処理の動作手順を示したフローチャート図である。
ステップＳ１４０１で取得した操作データの「データ１」、および、「データ２」には入れ替える階層名が「第Ｎ階層」の形で格納されているため、階層構造変更処理部２３は、「データ１」での階層の番号をＮ、「データ２」での階層の番号をＭとして入れ替える階層番号を取得する（ステップＳ１６０１）。
【０１７６】
続いて、階層構造変更処理部２３は、「変更ファイル位置データ」のデータ数がＮ以上、かつ、Ｍ以上か否かを判定する（ステップＳ１６０２）。
データ数がＮ、および、Ｍ以上の場合（ステップＳ１６０２，Ｙｅｓ）、階層構造変更処理部２３は、「変更ファイル位置データ」に対して、第Ｎ階層のデータと第Ｍ階層のデータを入れ替える（順番を交換する）。
一方、データ数がＮ、および、Ｍより小さい場合、（ステップＳ１６０２，Ｎｏ）、階層構造変更処理部２３は、データ入れ替えを行わない。
【０１７７】
このファイル位置データ入替処理も、図２５に示すフォルダ階層入替処理においての、フォルダ位置データのデータ入替処理に相当する処理を、ファイル位置データに対して行うものである。
【０１７８】
《ステップＳ１４０５の処理》
図３１は、図２６に示すステップＳ１２１０におけるファイル格納先決定処理の動作手順を示したフローチャート図である。
まず、階層構造変更処理部２３は、ステップＳ１２０９のファイル位置データ変更操作処理で変更した「変更ファイル位置データ」からの位置情報を作成する（ステップＳ１７０１）。次に、階層構造変更処理部２３は、ステップＳ１２０１で取得した作成先フォルダの位置情報の末尾に、ステップＳ１７０１で作成した位置情報を結合して、階層構造ファイル３１が示す階層構造内における、ファイルの格納先位置情報を作成する（ステップＳ１７０２）。そして、階層構造変更処理部２３は、作成した格納先位置情報を用いて階層構造内を検索し、格納先位置情報と一致するフォルダが階層構造内にあるか否かを判定する（ステップＳ１７０３）。
格納先位置情報と一致するフォルダがある場合（ステップＳ１７０３，Ｙｅｓ）、階層構造変更処理部２３は、ステップＳ１７０２で作成した格納先位置情報を以降のファイル分類処理で使用する。
【０１７９】
一方、格納先位置情報と一致するフォルダがない場合（ステップＳ１７０３，Ｎｏ）、階層構造変更処理部２３は、階層構造内にファイルの分類先がないと判断される。第１の実施形態においては、このようなファイルについては、暫定的に「未分類フォルダ」へと分類しておき、後で利用者がまとめて確認できるようにする。そのため、階層構造変更処理部２３は、格納先位置情報の内容を、ステップＳ１２０６で作成した「未分類フォルダ」の位置情報に変更する（ステップＳ１７０４）。これにより、後のファイル分類処理において、「未分類フォルダ」に分類される。
【０１８０】
図３３を用いて例を示すと、「変更ファイル位置データ」の「文書」「業務Ａ」「２００８」というデータから作成した位置情報が「￥文書￥業務Ａ￥２００８」となり、これを作成位萱「階層Ｂ」の位置情報「￥階層Ｂ」と結合して、階層構造内のファイルの格納先位置情報「￥階層Ｂ￥文書￥業務Ａ￥２００８」を作成する。作成した格納先位置情報で階層構造内を検索して、一致するフォルダがあるかの確認を行う。この例では階層構造内に一致するフォルダがあるため、作成した格納先位置情報をそのまま使用する。
【０１８１】
《ステップＳ１２１１の処理》
図３２は、図２６に示すステップＳ１２１１におけるファイル分類処理の動作手順を示したフローチャート図である。
まず、階層構造変更処理部２３は、ステップＳ１２０７で取得したファイルデータのファイル位置情報を取得し（ステップＳ１８０１）、取得したファイル位置情報の末尾に記載されているファイル名を取得する（ステップＳ１８０２）。
次に、階層構造変更処理部２３は、ステップＳ１２１０で取得した格納先位置情報で階層構造内を検索し、検出したフォルダ下に、ステップＳ１８０２で取得したファイル名と同じ名前のファイル、または、フォルダがあるか否かを判定する（ステップＳ１８０３）。
【０１８２】
階層構造内の格納先位置情報のフォルダ下に、取得したファイル名と同じ名前のファイル、または、フォルダがある場合（ステップＳ１８０３，Ｙｅｓ）、階層構造変更処理部２３は、取得したファイル名を、すでに存在するファイル名またはフォルダ名と異なる名前に変更する（ステップＳ１８０５）。
【０１８３】
この名前を変更する処理は、一般的なファイルシステム等の階層構造で分類された階層構造ファイル３１において、同じフォルダ下には同じ名前のファイル、または、フォルダは１つしか存在できない、という制約があるためである。変更する名前は、格納先位置情報のフォルダ下にあるファイル、および、フォルダと重複しない名前である必要があるが、元の（ステップＳ１８０２で取得した）ファイル名からの変化が少なく、また一定の規則性に基づいて変更されることで、ファイル名の変更があっても利用者に発見されやすい名前がよい。第１の実施形態においては、「ファイル１（２）」のようにファイル名の末尾に「（数字）」という文字列を付加し、既にファイル名の末尾に同様の文字列がある場合は、括弧内の数字を増やすことでファイル名が重複しないようにする、といった方法を用いる。
階層構造変更処理部２３は、ステップＳ１８０５のファイル名の変更を行った後、ステップＳ１８０３に戻り、再度ファイル名が重複していないかの判定処理を行う。
【０１８４】
一方、ステップＳ１８０３の判定処理にて、階層構造内の格納先位置情報のフォルダ下に、取得したファイル名と同じ名前のファイル、または、フォルダがない場合（ステップＳ１８０３，Ｎｏ）、階層構造変更処理部２３は、ファイル位置情報で階層構造内を検索してファイルを取得し、格納先位置情報のフォルダの下にファイルを格納する（ステップＳ１８０４）。そして、ステップＳ１２１１の処理を終了する。
【０１８５】
具体的には、階層構造変更処理部２３は、ステップＳ１８０１で取得したファイル位置情報で階層構造内を検索してファイルを取得し、取得したファイルを、ステップＳ１２１０で取得した格納先位置情報のフォルダ下へ、ステップＳ１８０２で取得しステップＳ１８０５で変更したファイル名のファイルとしてコピーする。作成先フォルダの下に作成する変更後の階層構造は、元の（変更前の）階層構造とは独立した、別の階層構造であるので、変更後の階層構造へのファイルの分類はファイルのコピー操作として行われ、元のファイルは元の階層構造内で分類された状態で残る。
【０１８６】
図３３を例として説明する。
図３３は、図３に示すファイル管理プログラムが実行終了したときの階層Ａおよび階層Ｂの階層構造の一例を示す図である。
ファイルデータ６０３が示す（先頭位置である「階層Ａ」「文書」を起点として）「文書」「２００８」「業務Ａ」下の「ファイル１」について、ファイル位置データに対して変更操作を加えた結果が「変更ファイル位置データ」であり、そこから格納先位置情報６０２が作成された場合、ファイル分類先は階層構造内における「階層Ｂ」「文書」「業務Ａ」「２００８」フォルダ下となり、名前の重複がなければ「ファイル１」というファイル名をそのまま使用可能であるため、「文書」「２００８」「業務Ａ」下の「ファイル１」を「階層Ｂ」「文書」「業務Ａ」「２００８」下に「ファイル１」という名前でコピーする。コピー元の「ファイル１」は「文書」「２００８」「業務Ａ」下にあり、「階層Ｂ」下に作成した階層構造内においては「文書」「業務Ａ」「２００８」下に「ファイル１」として分類される。
【０１８７】
以上のファイル分類処理を、ファイルデータ記憶部３２から取得した全てのファイルデータに対して実行すると（図２６のステップＳ１２１２，Ｎｏ）、変更後の階層構造へのファイル分類は完了となり、階層構造の作成が完了したため、ファイル管理システムを終了する。一般的なファイルシステム等の階層構造として分類されている階層構造ファイル３１に対して直接変更を加え、階層構造の作成とファイルの分類を行うため、一度ファイル管理システムで作成した変更後の階層構造に対しては、ＯＳ、ドライバ、データベースソフト、その他アプリケーションプログラムソフト等から階層構造に則ってアクセスすることが可能であり、自由な運用が可能である。
【０１８８】
以上のように、階層構造で分類されているファイルについて、ファイルの階層構造内での格納先を示す階層情報（位置情報）を自動で作成し、階層構造に対してフォルダ追加、削除、移動、入替の変更操作による階層構造の変更を可能とし、ファイルの位置情報に変更操作を加えて自動分類を行うことで変更後の階層構造を自動作成する、第１の実施形態におけるファイル管理システムを用いることで、利用者は階層構造で分類済みのファイルに対して追加でデータを入力する必要なく、階層構造の変更操作を行うだけで、変更後の階層構造へのファイルの分類を容易に行うことができる。
【０１８９】
《第２の実施形態》
第１の実施形態では、変更後の階層構造にファイルを分類する際に、分類先のフォルダがない場合はファイルを未分類として扱い、未分類フォルダヘ分類していたが、これらの未分類のファイルについては利用者が未分類フォルダを確認し、手動で分類するなどの作業が必要であり、ファイルの自動分類が徹底されていないという問題があった。これに対応するため、第２の実施形態では、第１の実施形態におけるファイルの階層構造内での格納先を示す階層情報に変更操作を加えた結果、分類できないファイルについて、階層情報から分類先を探索する手法を組み合わせた自動分類について説明する。
【０１９０】
第２の実施形態を説明する全ての図において、第１の実施形態と同一の機能を有するものについては同一の符号を付けて、繰り返しの説明は省略する。
第２の実施形態におけるファイル管理システムの構成例が、図１に示す第１の実施形態における構成例と異なる点として、ファイル分類先探索部３９がある。ファイル分類先探索部３９は、階層構造変更処理部２３から要求を受けて動作し、ファイルデータ記憶部３２から取得したファイルデータを用いて、階層構造変更処理部２３が作成した階層構造ファイル３１を分類する階層構造内の中から、ファイルの分類先を探索し、検出した分類先を階層構造変更処理部２３へ渡す。また、階層構造変更処理部２３は、変更したファイルデータ、および、階層のデータに基づいて新しい階層構造を作成し、階層構造ファイル３１のファイルを新しい階層構造に従って分類された状態へと変更する機能において、ファイル分類先探索部３９を利用してファイルの分類を行う。その他の構成要素については図１に示す第１の実施形態における構成例と同一であるので。説明を省略する。
【０１９１】
図３は、第２の実施形態におけるファイル管理方法、および、それを利用したファイル管理システムの動作手順の概略を示すフローチャート図である。このうち、ステップＳ１〜ステップＳ６については、第１の実施形態におけるファイル管理方法、および、ファイル管理システムの動作手順と同一であるため、説明を省略する。
【０１９２】
《ステップＳ７の処理》
図２６は、図３に示すステップＳ７の動作手順を示したフローチャート図である。
ステップＳ７では、ファイル管理システムは階層構造変更処理部２３を動かし、ファイルデータ記憶部３２、および、階層データ記憶部３３から取得した階層構造についてのデータに基づいて、ステップＳ６で指定された作成先フォルダの下にフォルダを作成し（ステップＳ１２０１〜ステップＳ１２０６）、ファイルの分類を行うことで変更後の階層構造を作成する（ステップＳ１２０７〜ステップＳ１２１２）。このうち、ステップＳ１２１０における、階層構造内のファイル格納先を決定する処理が、第１の実施形態におけるファイル管理システムの動作手順と異なる。階層構造変更処理部２３がファイルデータ記憶部３２から取得したファイル位置データに変更を加えた「変更ファイル位置データ」を用いて、階層構造ファイル３１が示す階層構造内におけるファイルの格納先を作成し、その格納先が階層構造内にあるか否かを判定する。
【０１９３】
格納先が階層構造内にない場合、第１の実施形態においてはファイルを未分類として扱うが、第２の実施形態においては、ファイル分類先探索部３９を動作させて、階層構造ファイル３１が示す階層構造内において、ファイルデータ記憶部３２から取得したファイル位置データとの一致度が高いフォルダを探索し、一致度が最も高いフォルダを格納先に決定する、という処理を行う。図２６におけるその他のステップについては第１の実施形態と同一であるため、その説明を省略する。
【０１９４】
《ステップＳ１２１０の処理》
図３４は、図２６に示すステップＳ１２１０におけるファイル格納先決定処理の動作手順を示したフローチャート図である。
ステップＳ１９０１〜ステップＳ１９０３において、変更後のファイル位置データからファイルの格納先位置情報を作成し、階層構造内に格納先位置情報と一致するフォルダがあるか否か確認するまでの処理は、第１の実施形態におけるステップＳ１２１０の動作手順である、ステップＳ１７０１〜ステップＳ１７０３と同一であるため、説明を省略する（図３１を参照）。
【０１９５】
ステップＳ１９０３の判定処理にて、格納先位置情報と一致するフォルダがある場合（ステップＳ１９０３，Ｙｅｓ）、第１の実施形態におけるステップＳ１２１０の場合と同様に、ステップＳ１９０２で作成した格納先位置情報を以降のファイル分類処理で使用する。
【０１９６】
一方、ステップＳ１９０３の判定処理にて、格納先位置情報と一致するフォルダがない場合（ステップＳ１９０３，Ｎｏ）、ファイルデータと変更ファイル位置データとから、階層構造内にファイルの格納先（分類先）がないため、階層構造変更処理部２３はファイル分類先探索部３９に処理を実行させて、新たに、階層構造内からファイルの格納先（分類先）を探索する処理を行う（ステップＳ１９０４（図３５））。
【０１９７】
《ステップＳ１９０４の処理》
図３５は、図３４に示すステップＳ１９０４におけるファイル分類先探索処理の動作手順を示したフローチャート図である。
まず、ステップＳ１９０２で作成した格納先位置情報について、階層構造内には一致するフォルダがないため、ファイル分類先探索部３９は、格納先位置情報の内容をクリア（消去）する（ステップＳ２００１）。次に、ファイル分類先探索部３９は、階層構造内のフォルダについて、ファイル位置情報と最も一致しているフォルダを探索する。ここでファイル分類先探索部３９は、ステップＳ１２０１で取得した、変更後の階層構造の作成先フォルダの位置情報である作成開始位置を検索開始位置として、作成開始位置から階層構造ファイル３１に含まれるフォルダを検索する（ステップＳ２００２）。
【０１９８】
ここで、ファイルの分類は、作成先フォルダの下に作成される変更後の階層構造内に限られるため、例えば図５に示されるような階層構造の場合、分類先として検索するフォルダは作成先フォルダの下にあるフォルダだけであり、先頭位置の下のフォルダなどは含まれない。
【０１９９】
次に、ファイル分類先探索部３９は、ステップＳ２００２で検索したフォルダから１つを選択して取得し、ステップＳ１２０１で取得した作成開始位置（作成先フォルダ）からの位置情報を作成する（ステップＳ２００３）。
そして、ファイル分類先探索部３９は、ステップＳ２００３で作成したフォルダの位置情報と、ステップＳ１９０１で作成した「変更ファイル位置データ」から作成したファイル位置情報との比較を行い、一致の度合（Ｘ）を取得する（ステップＳ２００４）。
【０２００】
ここで、比較するファイル位置情報は、先頭位置からの位置情報であり、それより上の階層情報は含まないため、フォルダの位置情報も作成先フォルダより下の階層構造だけの位置情報として作成する。
まず、ファイル分類先探索部３９は、比較しやすいように位置情報から位置データを作成する。ファイル位置情報については、ファイルデータに含まれる位置データをそのまま使用できる。次に、ファイル分類先探索部３９は、作成したフォルダの位置データとファイル位置データを比較して、一致するデータがあるか否かを判定する。ファイル分類先探索部３９は、ファイル位置データの第１階層のデータから順番に、フォルダ位置データの全てのデータのうち、一致するデータがあるか否かを判定し、一致するデータの個数が多いほど、一致度が高いと判断する。
【０２０１】
一致するデータの数が同じ場合、ファイル分類先探索部３９は、一致するデータについて、ファイル位置データのデータの順番と、フォルダ位置データでの順番が一致しているか否かを確認して、より順番が一致している方が一致の度合が高いと判断する。
一方、一致するデータの順番も同じ場合、ファイル分類先探索部３９は、ファイル位置データ内でのデータの位置と、フォルダ位置データでの位置が一致しているか否かを確認して、より一致しているデータが多い方が一致の度合が高いと判断する。
【０２０２】
図３５の説明に戻る。
同様に、ファイル分類先探索部３９は、格納先位置情報と、ステップＳ１９０１で作成した「変更ファイル位置データ」から作成したファイル位置情報との比較を行い、一致の度合（Ｙ）を取得する（ステップＳ２００５）。
そして、ファイル分類先探索部３９は、ステップＳ２００４で取得した一致の度合Ｘと、ステップＳ２００５で取得した一致の度合Ｙとを比較する（ステップＳ２００６）。
一致の度合Ｘが一致の度合Ｙよりも大きいとき、すなわち、格納先位置情報よりも、ステップＳ２００３で作成したフォルダ位置情報の方が、ファイル位置情報との一致の度合が高い場合（ステップＳ２００６，Ｙｅｓ）、ファイル分類先探索部３９は、ステップＳ２００３で作成したフォルダ位置情報を、格納先位置情報に格納する（ステップＳ２００７）。
一方、一致の度合Ｘが一致の度合Ｙよりも小さいとき、すなわち、ステップＳ２００３で作成したフォルダ位置情報よりも、格納先位置情報の方がファイル位置情報との一致度が高い場合（ステップＳ２００６，Ｎｏ）、次のステップＳ２００８の処理を行う。
【０２０３】
次に、階層構造情報取得部２２は、ステップＳ２００２で検出したフォルダ９のうち、未取得のフォルダ９があるか否かの判定を行う（ステップＳ２００８）。
未取得のフォルダがある場合（ステップＳ２００８，Ｙｅｓ）、ステップＳ２００３に戻る。このように、ステップＳ２００２で検索した全てのフォルダについてステップＳ２００３〜ステップＳ２００７の比較処理を繰り返すことで、ファイル位置情報との一致度が最も高いフォルダ位置情報が、格納先位置情報に格納される。
【０２０４】
一方、未取得のフォルダがない場合（ステップＳ２００８，Ｎｏ）、ステップＳ２００２で検索した全てのフォルダについて比較処理が完了したこととなり、次に、階層構造情報取得部２２は、格納先位置情報に位置情報が格納されているか否かの判定を行う（ステップＳ２００９）。
【０２０５】
格納先位置情報に位置情報が格納されている場合（ステップＳ２００９，Ｙｅｓ）、階層構造情報取得部２２は、ステップＳ１９０２と同様に、ステップＳ１２０１で取得した作成先フォルダの末尾に格納先位置情報を結合することで、階層構造ファイル３１が示す階層構造内における、ファイルの格納先位置情報を作成する（ステップＳ２０１０）。
【０２０６】
一方、格納先位置情報に位置情報が格納されていない場合（ステップＳ２００９，Ｎｏ）、すなわち、ステップＳ２００３〜ステップＳ２００７の比較処理において、ファイル位置情報と一致するフォルダ位置情報が１つもない場合、格納先位置情報には位置情報が格納されない。そのため、ステップＳ２００１で消去されたままの状態である。この場合、作成先フォルダ以下の階層構造において、ファイル位置情報と全く一致しないフォルダしかないため、ファイルの分類先となるフォルダを決定できない。第２の実施形態においては、この場合に限り、第１の実施形態と同様に「未分類フォルダ」へのファイル分類を行う。処理としては、格納先位置情報の内容を、ステップＳ１２０６で作成した「未分類フォルダ」の位置情報に変更する（ステップＳ２０１１）。
【０２０７】
このように、第２の実施形態において、ファイル位置情報のデータと一致するフォルダが階層構造内にある場合は、該当するフォルダヘの分類が行われる。一方、ファイル位置情報のデータと一致するフォルダが階層構造内に全くない場合は、「未分類フォルダ」として分類されるので、「未分類フォルダ」に分類されるファイルは第１の実施形態の場合と比べて少数となる。
【０２０８】
以上のように、変更後の階層構造においてファイル格納先がない場合に、変更後の階層構造内のフォルダについてファイル位置情報と最も一致しているフォルダを探索して格納先とする分類機能を新たに有する。
【０２０９】
以上のように、第１の実施形態におけるファイルの階層構造内での格納先を示す階層情報に変更操作を加えることによる分類ができないファイルについても、階層構造の中でファイルの階層情報に近いフォルダヘの分類を自動で行うことで、未分類のファイルを分類する手間をさらに削減し、変更後の階層構造へのファイルの分類をより容易に行うことが可能である。
【０２１０】
ファイル管理システムを構成する各要素は全て同一のファイル管理装置１内にあるが、これらを複数の端末ＰＣに分割した上で、ネットワーク等を経由する形で端末ＰＣ同士を接続することにより、第２の実施形態の構成を実現してもよい。
【０２１１】
本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【０２１２】
例えば、第１の実施形態において、第２階層と第３階層とを入れ替えるという、上位の階層のフォルダと、そのフォルダの直下にある下位の階層のフォルダとを入れ替える処理を説明したが、さらに下の階層を入れ替え対象としてもよい。
【符号の説明】
【０２１３】
１      ファイル管理装置
１１    制御部
１２    記憶部
１３    画面表示部
１４    入力部
１５    通信部
２１    ファイル管理処理部
２２    階層構造情報取得部
２３    階層構造変更処理部
２８    画面制御部
２９    入力処理部
３１    階層構造ファイル
３２    ファイルデータ記憶部
３３    階層データ記憶部
３４    フォルダ名記憶部
３５    位置情報記憶部
３６    変更操作記憶部
３９    ファイル分類先探索部
４１    ＯＳ
４２    コマンド
４３    アプリケーションプログラム
【図１】
2014215962.tif 000003
【図２】
2014215962.tif 000004
【図３】
2014215962.tif 000005
【図４】
2014215962.tif 000006
【図５】
2014215962.tif 000007
【図６】
2014215962.tif 000008
【図７】
2014215962.tif 000009
【図８】
2014215962.tif 000010
【図９】
2014215962.tif 000011
【図１０】
2014215962.tif 000012
【図１１】
2014215962.tif 000013
【図１２】
2014215962.tif 000014
【図１３】
2014215962.tif 000015
【図１４】
2014215962.tif 000016
【図１５】
2014215962.tif 000017
【図１６】
2014215962.tif 000018
【図１７】
2014215962.tif 000019
【図１８】
2014215962.tif 000020
【図１９Ａ】
2014215962.tif 000021
【図１９Ｂ】
2014215962.tif 000022
【図２０】
2014215962.tif 000023
【図２１】
2014215962.tif 000024
【図２２】
2014215962.tif 000025
【図２３】
2014215962.tif 000026
【図２４】
2014215962.tif 000027
【図２５】
2014215962.tif 000028
【図２６】
2014215962.tif 000029
【図２７】
2014215962.tif 000030
【図２８】
2014215962.tif 000031
【図２９】
2014215962.tif 000032
【図３０】
2014215962.tif 000033
【図３１】
2014215962.tif 000034
【図３２】
2014215962.tif 000035
【図３３】
2014215962.tif 000036
【図３４】
2014215962.tif 000037
【図３５】
2014215962.tif 000038