





























【0001】
【発明の属する技術分野】
この発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理システムおよびその方法に関する。
【0002】
【従来の技術】
コンピュータシステムの外部記憶装置としては、ハードディスク、光磁気ディスク等の書込可能な種々の記憶装置が使用されている。近年では、これらの外部記憶装置の大容量化が進んでおり、数百メガバイト、数ギガバイトの容量を持つ装置も普及している。
【0003】
コンピュータシステムに多数のアプリケーションプログラムをインストールしたり、また、画像データなどを保存したりすると外部記憶装置に格納されるデータ量が膨大になってゆく。外部記憶装置の容量が大きくても、格納すべきデータ量も膨大になるので、次第に外部記憶装置の空き容量の不足に悩む場合が多い。
【0004】
従来は、このような場合に、外部記憶装置に格納された個々のファイルを指定して外部記憶装置から削除するような記憶装置内容整理用のアプリケーションプログラムが用いられていた。
【0005】
【発明が解決しようとする課題】
しかし、例えば外部記憶装置からアプリケーションプログラムを削除するような場合には、そのアプリケーションプログラムに関連するファイルが極めて多数にのぼるので、個々のファイルを指定することによってアプリケーションプログラムに関連したファイルをきれいに削除するのは困難であった。また、個々のファイルを指定して削除するのは多大の手間と時間を要し、また、各ファイルに関する詳細な知識も必要であった。従って、従来はファイルの削除によって外部記憶装置の空き容量を効率的に増加させることが困難であった。
【0006】
この発明は、従来技術における上述の課題を解決するためになされたものであり、削除すべきファイルを容易に選択でき、ファイルの削除によって外部記憶装置の空き容量を容易に増加させることができるようにすることを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】
上述の課題を解決するため、第1の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理システムであって、
前記外部記憶装置に格納されているファイルを分類するための分類情報を、複数の分類情報候補の中から選択するための分類情報選択手段と、
前記分類情報に応じて、前記外部記憶装置に格納されているファイルを複数のファイル群に分類するとともに、各ファイル群のデータ総量を表示装置に表示する分類手段と、
表示された前記複数のファイル群の1つを選択するためのファイル群選択手段と、
前記選択手段によって選択されたファイル群に属するファイルを前記外部記憶装置から削除する削除実行手段と、
を備えることを特徴とする。
【0008】
ユーザが分類情報を選択すると、分類手段がその分類情報に応じて外部記憶装置内に格納されたファイルを複数のファイル群に分類する。そして、ユーザが分類された複数のファイル群の1つを選択すると、削除実行手段が選択されたファイル群に属するファイルを削除する。従って、簡単な操作で、分類された特定のファイル群を容易に削除でき、外部記憶装置の空き容量を増加させることができる。
【0009】
上記第1の発明において、前記分類情報は、ファイルの拡張子別にファイルを分類する旨の情報を含むようにすることが好ましい。
【0010】
こうすれば、特定の拡張子を有するファイル群を選択して削除できる。
【0011】
また、前記分類情報は、ディレクトリ単位でファイルを分類する旨の情報を含み、
前記削除実行手段は、前記選択手段で選択されたディレクトリおよび該ディレクトリに含まれるファイルを削除する手段を備えるようにすることが好ましい。
【0012】
こうすれば、特定のディレクトリ内に含まれているファイル群を選択して削除できる。
【0013】
上記第1の発明は、さらに、前記外部記憶装置内の各ファイルへのアクセス回数とアクセス日時とを含むアクセス履歴を記録する履歴記録手段を含み、
前記分類情報は、前記履歴記録手段によって記録されたアクセス履歴に関する分類条件を示す情報を含むことが好ましい。
【0014】
こうすれば、特定のアクセス履歴の条件を満たすファイル群を選択して削除できる。
【0015】
上記第1の発明は、さらに、
前記ファイル群選択手段によって選択されたファイル群がアプリケーションプログラムの実行ファイルを含む場合には、前記実行ファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補として表示する検索手段を備えることが好ましい。
【0016】
こうすれば、実行ファイルの実行時にのみ使用される可能性のあるファイルが削除候補として表示されるので、ユーザがこれを確認して不要なファイルを削除することができる。
【0017】
また、前記検索手段は、
前記ファイル群選択手段によって選択されたファイル群がアプリケーションプログラムの実行ファイルを含む場合に、前記実行ファイルに関してレジストリファイル内に含まれているOLE情報を削除候補とする手段を備えることが好ましい。
【0018】
こうすれば、所定のファイル内の不要な情報を削除することができる。
【0019】
また、前記削除候補となる情報は、WIN.INI ファイルおよび/またはレジストリファイル内の関連付け情報と、WIN.INI ファイル内のアプリケーションセクションと、前記レジストリファイル内のOLE 情報と、アイコンの登録情報とを含むことが好ましい。
【0020】
さらに、前記削除候補となる情報を含むクリーン情報ファイルを作成する手段を備えることが好ましい。
【0021】
こうすれば、削除候補となった情報を削除した後に、クリーン情報ファイルを用いてその情報を復元することができる。
【0022】
また、上記第1の発明は、
前記削除候補のファイルの1つを内容表示対象ファイルとして選択する表示対象ファイル選択手段と、
前記内容表示対象ファイルがアプリケーションプログラムによって作成されたデータファイルである場合に、前記データファイルの内容を前記表示装置に表示するファイル内容表示手段、を備えることが好ましい。
【0023】
こうすれば、ユーザがデータファイルの内容を確認して、そのファイルを削除するか否かを判断することができる。
【0024】
上記第1の発明は、さらに、
前記検索手段によって検索された削除候補の中から、削除対象を選択する削除対象選択手段と、
前記ファイル群選択手段によって選択されたファイル群がアプリケーションプログラムの実行ファイルを含む場合には、前記削除対象として選択されたファイルの中で前記アプリケーションプログラムをコンピュータシステムに再インストールすることによっては復元されないファイルのみを選択して簡易バックアップ対象ファイルとして特定する簡易バックアップファイル特定手段と、
前記簡易バックアップ対象ファイルを圧縮データファイルとしてバックアップするバックアップ実行手段と、を備えることが好ましい。
【0025】
こうすれば、アプリケーションプログラムの復元に必要なバックアップファイルの容量を小さくできる。
【0026】
また、前記簡易バックアップ対象ファイルは、前記アプリケーションプログラムに関してユーザが設定する環境設定を保存するための環境設定ファイルと、前記アプリケーションプログラムによって作成されたデータファイルとを含むようにすることが好ましい。
【0027】
これらのファイルは、アプリケーションプログラムのインストール後に、ユーザによって作成または変更された可能性があるので、これらをバックアップしておけば、アプリケーションプログラムに関するファイルを削除前の状態に復元することができる。
【0028】
また、前記簡易バックアップ対象ファイルは、前記アプリケーションプログラムのインストールの時刻以降に作成または更新されたファイルを含むようにすることが好ましい。
【0029】
このようなファイルは、アプリケーションプログラムのインストール後に、ユーザによって作成または変更されたものなので、これらをバックアップしておけば、アプリケーションプログラムに関するファイルを削除前の状態に復元することができる。
【0030】
第2の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理システムであって、
前記外部記憶装置に格納されたファイルを実行するためのアイコンの1つを表示装置の画面上で選択するためのアイコン選択手段と、
前記アイコン選択手段で選択されたアイコンに対応して登録されているコマンドラインを解析して、前記コマンドラインがアプリケーションプログラムの実行ファイル以外のファイルを示す文字列を含むか否かを調べ、実行ファイル以外のファイルを示す文字列を含む場合には、前記実行ファイル以外のファイルを削除対象メインファイルとして特定するとともに、前記コマンドラインが実行ファイル以外のファイルを示す文字列を含まない場合には、前記実行ファイルを削除対象メインファイルとして特定する削除対象メインファイル特定手段と、
前記削除対象メインファイルがアプリケーションプログラムの実行ファイルである場合には、前記実行ファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補として表示する検索手段と、
前記検索手段によって検索された削除候補の中から、削除対象を選択する削除対象選択手段と、
前記削除対象メインファイルがアプリケーションプログラムの実行ファイルである場合には、前記削除対象として選択されたファイルの中で前記アプリケーションプログラムをコンピュータシステムに再インストールすることによっては復元されないファイルのみを選択して簡易バックアップ対象ファイルとして特定する簡易バックアップファイル特定手段と、
前記簡易バックアップ対象ファイルを圧縮データファイルとしてバックアップするバックアップ実行手段と、
前記削除対象メインファイルを前記外部記憶装置から削除する削除実行手段と、
を備えることを特徴とする。
【0031】
削除対象メインファイル特定手段は、アイコンとして登録されている実体的なファイルを削除対象メインファイルと特定するので、削除実行手段がそのファイルを削除することができる。
【0032】
また、第3の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理システムであって、
前記外部記憶装置に格納された1つのファイルを削除対象メインファイルとして特定する削除対象メインファイル特定手段と、
前記削除対象メインファイルがアプリケーションプログラムの実行ファイルである場合には、前記削除対象メインファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補として表示装置に表示する検索手段と、
前記削除候補の中から削除対象を選択する削除対象選択手段と、
前記削除対象メインファイルがアプリケーションプログラムの実行ファイルを含む場合には、前記削除対象として選択されたファイルの中で前記アプリケーションプログラムをコンピュータシステムに再インストールすることによっては復元されないファイルのみを選択して簡易バックアップ対象ファイルとして特定する簡易バックアップファイル特定手段と、
前記簡易バックアップ対象ファイルを圧縮データファイルとしてバックアップするバックアップ実行手段と、
前記削除対象メインファイルと前記削除対象選択手段によって選択された削除対象とを前記外部記憶装置から削除する削除実行手段と、
を備えることを特徴とする。
【0033】
簡易バックアップファイル特定手段は、アプリケーションプログラムの復元に必要なバックアップファイルの数を削減するので、バックアップファイルの容量を小さくできる。
【0034】
第4の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理システムであって、
前記外部記憶装置に格納された複数のファイルのリストを表示装置に表示するためのファイルリスト表示手段と、
前記リストに表示されたファイルの1つを選択するファイル選択手段と、
選択されたファイルがアプリケーションプログラムによって作成されたデータファイルである場合に、前記データファイルの内容を前記表示装置に表示するファイル内容表示手段と、
前記ファイルリストに表示された複数のファイルの中から削除の対象となるファイルを選択する削除対象選択手段と、
前記対象特定手段によって選択されたファイルを前記外部記憶装置から削除する削除実行手段と、
を備えることを特徴とする。
【0035】
ファイル内容表示手段によって表示されたデータファイルの内容をユーザが確認して、そのファイルを削除するか否かを判断することができる。
【0036】
第5の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理方法であって、
(a)前記コンピュータシステムが、前記外部記憶装置に格納されているファイルを分類するための分類情報を、複数の分類情報候補の中からユーザが選択したことを受領する工程と、
(b)前記コンピュータシステムが、前記分類情報に応じて、前記外部記憶装置に格納されているファイルを複数のファイル群に分類するとともに、各ファイル群のデータ総量を表示装置に表示する工程と、
(c)前記コンピュータシステムが、表示された前記複数のファイル群の1つをユーザが選択したことを受領する工程と、
(d)前記コンピュータシステムが、選択されたファイル群に属するファイルを前記外部記憶装置から削除する工程と、
を備えることを特徴とする。
【0037】
また、第6の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理方法であって、
(a)前記コンピュータシステムが、前記外部記憶装置に格納されたファイルを実行するためのアイコンの1つを表示装置の画面上でユーザが選択したことを受領する工程と、
(b)前記コンピュータシステムが、選択されたアイコンに対応して登録されているコマンドラインを解析して、前記コマンドラインがアプリケーションプログラムの実行ファイル以外のファイルを示す文字列を含むか否かを調べ、実行ファイル以外のファイルを示す文字列を含む場合には、前記実行ファイル以外のファイルを削除対象メインファイルとして特定するとともに、前記コマンドラインが実行ファイル以外のファイルを示す文字列を含まない場合には、前記実行ファイルを削除対象メインファイルとして特定する工程と、
(c)前記コンピュータシステムが、前記削除対象メインファイルがアプリケーションプログラムの実行ファイルである場合には、前記実行ファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補として表示する工程と、
(d)前記コンピュータシステムが、前記検索によって検索された削除候補の中から、削除対象をユーザが選択したことを受領する工程と、
(e)前記コンピュータシステムが、前記削除対象メインファイルがアプリケーションプログラムの実行ファイルである場合には、前記削除対象として選択されたファイルの中で前記アプリケーションプログラムをコンピュータシステムに再インストールすることによっては復元されないファイルのみを選択して簡易バックアップ対象ファイルとして特定する工程と、
(f)前記コンピュータシステムが、前記簡易バックアップ対象ファイルを圧縮データファイルとしてバックアップする工程と、
(g)前記コンピュータシステムが、前記削除対象メインファイルを前記外部記憶装置から削除する工程と、
を備えることを特徴とする。
【0038】
第7の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理方法であって、
(a)前記コンピュータシステムが、前記外部記憶装置に格納された1つのファイルを削除対象メインファイルとしてユーザが特定したことを受領する工程と、
(b)前記コンピュータシステムが、前記削除対象メインファイルがアプリケーションプログラムの実行ファイルである場合には、前記削除対象メインファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補として表示装置に表示する工程と、
(d)前記コンピュータシステムが、前記削除候補の中から削除対象をユーザが選択したことを受領する工程と、
(e)前記コンピュータシステムが、前記削除対象メインファイルがアプリケーションプログラムの実行ファイルを含む場合には、前記削除対象として選択されたファイルの中で前記アプリケーションプログラムをコンピュータシステムに再インストールすることによっては復元されないファイルのみを選択して簡易バックアップ対象ファイルとして特定する工程と、
(f)前記コンピュータシステムが、前記簡易バックアップ対象ファイルを圧縮データファイルとしてバックアップする工程と、
(g)前記コンピュータシステムが、前記削除対象メインファイルと前記工程(d)で選択された削除対象とを前記外部記憶装置から削除する工程と、
を備えることを特徴とする。
【0039】
第8の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理方法であって、
(a)前記外部記憶装置に格納された複数のファイルのリストを表示装置に表示する工程と、
(b)前記リストに表示されたファイルの1つを選択する工程と、
(c)選択されたファイルがアプリケーションプログラムによって作成されたデータファイルである場合に、前記データファイルの内容を前記表示装置に表示する工程と、
(d)前記ファイルリストに表示された複数のファイルの中から削除の対象となるファイルを選択する工程と、
(e)選択されたファイルを前記外部記憶装置から削除する工程と、
を備えることを特徴とする。
【0040】
第9の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理システムであって、
処理対象となるアプリケーションプログラムを選択するためのアプリケーション選択手段と、
前記アプリケーションプログラムの実行ファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補とするとともに、前記実行ファイルに関してレジストリファイル内に含まれているOLE情報を削除候補とする検索手段と、
前記削除候補を圧縮して書庫ファイルを作成する書庫化手段と、
前記削除候補を前記外部記憶装置から削除する削除実行手段と、
を備えることを特徴とする。
【0041】
検索手段によって削除候補とされたファイルと情報を書庫化手段が書庫化するので、書庫ファイルを解凍することによって削除されたファイルと情報を元の通り復元することができる。
【0042】
上記第9の発明は、さらに、
前記削除候補となる情報を含むクリーン情報ファイルを作成する手段を備え、前記書庫化手段は、前記クリーン情報ファイルを含むように前記書庫ファイルを作成する手段を備えることが好ましい。
【0043】
こうすれば、書庫ファイルの解凍時にクリーン情報ファイルを用いて元のファイルや情報を容易に復元することができる。
【0044】
また、第9の発明は、さらに、
前記アプリケーションプログラムに対応するアイコンを、前記書庫ファイルを解凍する際に使用される解凍用アイコンに置き換えるアイコン変更手段を備えるようにすることが好ましい
【0045】
こうすれば、ユーザが解凍用アイコンを指定して容易に書庫ファイルの解凍を指示することができる。
【0046】
第9の発明は、さらに、
前記書庫ファイルの解凍が指示された時に、前記書庫ファイルを解凍するとともに、前記書庫ファイルに含まれていたファイルおよび/または情報を復元することによって、前記アプリケーションプログラムを前記削除候補の削除の前の状態に復元する解凍手段を備えることが好ましい。
【0047】
こうすれば、アプリケーションプログラムが元の状態に復元されるので、ユーザは解凍されていたことをほとんど意識せずに、そのアプリケーションを利用することができる。
【0048】
第9の発明の前記解凍手段は、
解凍されたアプリケーションプログラムの実行が終了する際に、前記削除候補のファイルおよび情報の中で、前記アプリケーションプログラムの実行中に変更されたものを再度圧縮して前記書庫ファイルを更新する書庫ファイル更新手段を備えることが好ましい。
【0049】
こうすれば、書庫ファイルの内容を、そのアプリケーションプログラムの最新の状態に更新することができる。
【0050】
第9の発明は、さらに、書庫化されるアプリケーションプログラムを含む書庫ファイルを示す第1の情報と、前記アプリケーションで作成されるドキュメントファイルの拡張子を示す第2の情報と、前記書庫ファイルが解凍された後に前記アプリケーションプログラムの実行ファイルを起動するためのコマンドラインを示す第3の情報とを含む関連付け情報を作成する手段を備え、
前記解凍手段は、
前記拡張子を有するドキュメントファイルの起動が指定された時に、前記関連付け情報に従って、前記アプリケーションプログラムを含む書庫ファイルを解凍するとともに、解凍された前記実行ファイルを起動する手段を備える、ことが好ましい。
【0051】
こうすれば、ユーザは、プログラムが圧縮されていることを意識せずに、ドキュメントファイルを利用できる。
【0052】
前記関連付け情報の少なくとも一部は、オペレーティングシステム用のレジストリファイル内に格納されるようにしてもよい。もちろん、関連付け情報の全部をレジストリファイル内に格納するようにしてもよい。また、少なくとも前記第1と第2の情報が、前記レジストリファイル内に格納されるようにしてもよい。さらに、前記関連付け情報の一部が、前記アプリケーションプログラムを含む書庫ファイル内に格納されるようにしてもよい。
【0054】
この方法によれば、2つのコンピュータ間において、アプリケーションプログラムを書庫ファイルの形で容易に転送することができる。この場合に、転送先のコンピュータにおけるアプリケーションの状態を、転送元のコンピュータにおける状態と同じにすることができる。
【0055】
上記第10の発明において、前記書庫化ファイルは、前記アプリケーションの設定状態を示す設定情報を含み、
前記工程(e)は、
前記設定情報に従って、前記アプリケーションプログラムの設定状態を前記書庫化候補の圧縮の前の状態に復元する工程を含むことが好ましい。
【0056】
こうすれば、2つのコンピュータ間でアプリケーションプログラムを転送した場合にも、その設定状態を同一にすることができる。
【0057】
第10の発明は、コンピュータシステムに備えられた外部記憶装置に格納されているファイルを整理するための記憶装置内容整理方法であって、
(a)前記コンピュータシステムが、処理対象となるアプリケーションプログラムをユーザが選択したことを受領する工程と、
(b)前記コンピュータシステムが、前記アプリケーションプログラムの実行ファイルの実行に伴って使用され、かつ、他の実行ファイルの実行に使用されない他のファイルを前記外部記憶装置の内部から検索して、検索されたファイルを削除候補とするとともに、前記実行ファイルに関してレジストリファイル内に含まれているOLE情報を削除候補とする工程と、
(c)前記コンピュータシステムが、前記削除候補を圧縮して書庫ファイルを作成する工程と、
(d)前記コンピュータシステムが、前記削除候補を前記外部記憶装置から削除する工程と、
を備え、
前記工程(c)は、前記アプリケーションプログラムの実行ファイルの実行に伴って使用されるDLLファイルのうちで、他の実行ファイルの実行にも使用されるDLLファイルも前記削除候補とともに圧縮して前記書庫ファイルを作成することを特徴とする。
【0059】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。第1の態様は、コンピュータシステムのマイクロプロセッサによって実行されることによって上記の各発明の各種の手段や工程を実現するソフトウェアプログラムを格納した記憶媒体(特に携帯型記憶媒体)である。
【0060】
第2の態様は、コンピュータシステムのマイクロプロセッサによって実行されることによって上記の各発明の各種の手段や工程を実現するソフトウェアプログラムを通信回線を介して供給するプログラム供給装置である。
【0061】
【発明の実施の形態】
A.装置の構成:
次に、本発明の実施の形態を実施例に基づき説明する。図1は、この発明の一実施例を適用するコンピュータシステムのハードウェア構成を示すブロック図である。このコンピュータ10は、ローカルバス22に接続された演算処理部20、ローカルバス22を外部バスの一つであるPCIバス32に接続するPCIブリッジ30、PCIバス32を介して演算処理部20のCPU21等によりアクセスを受けるコントローラ部40、各種のI/O装置等を制御する機器が低速の外部バスであるISAバス42に接続されたI/O部60、および周辺機器であるキーボード72,スピーカ74,CRT76などから構成されている。
【0062】
演算処理部20は、中央演算処理装置としてのCPU21、キャッシュメモリ23,そのキャッシュコントローラ24およびメインメモリ25から構成されている。PCIブリッジ30は、高速のPCIバス32を制御する機能を備えたコントローラである。CPU21が扱うメモリ空間は、CPU21の内部に用意された各種レジスタにより、実際の物理アドレスより広い論理アドレスに拡張されている。
【0063】
コントローラ部40は、モニタ(CRT)76への画像の表示を司るグラフィックスコントローラ(以下、VGAと呼ぶ)44、接続されるSCSI機器とのデータ転送を司るSCSIコントローラ46、PCIバス32と下位のISAバスとのインタフェースを司るPCI−ISAブリッジ48から構成されている。VGA44は、CRT76に対して、640×480ドット、16色表示が可能である。なお、表示用のフォントを記憶したキャラクタジェネレータや所定のコマンドを受け取って所定の図形を描画するグラフィックコントローラ、さらには描画画像を記憶するビデオメモリ等は、このVGA44に実装されているが、これらの構成は周知のものなので、図1では省略されている。
【0064】
PCI−ISAブリッジ48を介して接続されたISAバス42は、各種のI/O機器が接続される入出力制御用のバスであり、DMAコントローラ(以下単にDMAと呼ぶ)50、リアルタイムクロック(RTC)52、複合I/Oポート54、サウンドI/O56、キーボード72およびマウス73とのインタフェースを司るキーボードインタフェース(以下KEYと呼ぶ)64、優先順位を有する割り込み制御を行なう割り込みコントローラ(以下PICと呼ぶ)66、各種の時間カウントやビープ音を発生するタイマ68等から構成されている。なお、ISAバス42には、拡張ボードが実装可能なISAスロット62が接続されている。
【0065】
複合I/Oポート54には、パラレル出力,シリアル出力の他、フロッピディスク装置82やハードディスク84を制御する信号を入出力するポートが用意されている。また、パラレル入出力には、パラレルポート86を介してプリンタ88が、シリアル入出力には、シリアルポート90を介してモデム92が、各々接続されている。また、サウンドI/O56には、上述したスピーカ74の他、マイクロフォン96が接続可能とされている。これらの構成の他、コンピュータ10では、標準化されたI/Oチャンネルが用意されることも多いが、本実施例では図示および説明は省略する。
【0066】
なお、以下ではハードディスク84内のファイルの整理を行なう場合について説明する。但し、本発明は、ハードディスクや光磁気ディスクなどの種々のタイプの書込可能な外部記憶装置に格納されたファイルの整理に適用することができる。
【0067】
図2は、ハードディスク84内のファイルの整理を行なうプログラム群の全体の機能を示す機能ブロック図である。このプログラム群が記憶装置内容整理システムおよび記憶装置内容整理方法を実現している。これらのプログラム群は、フロッピディスクやCD−ROM等の携帯型記憶媒体(可搬型記憶媒体)からコンピュータシステムのハードディスク84やメインメモリ25等の記憶装置に転送される。あるいは、これらのプログラム群を、通信回線を介してプログラム供給装置からコンピュータシステムに供給するようにしてもよい。実行時には、記憶装置からこれらのプログラム群が読み出され、CPU21によって実行される。なお、以下の説明においては、「機能」と「手段」とが同義語として使用される場合がある。
【0068】
ディスク内容の整理に関連するプログラム群は、ファインダ部202と、クリーナ部204と、リソース監視部206と、アークファイラ部208と、レスキュー部210と、履歴記録部212とを備えている。
【0069】
履歴記録部212は、アクセス監視部220と、履歴ログ222と、履歴データベース更新部224と、履歴データベース226とを含んでいる。なお、要素202,204,206,208,210の機能は1つのプログラムにまとめられており、アクセス監視部220と履歴データベース更新部224は、これと独立したそれぞれ別個のプログラムである。また、アクセス監視部220は常駐プログラム(TSR)であり、メインメモリ25内に常駐している。履歴ログ222と履歴データベース226は、実際にはハードディスク84内に格納されている。履歴記録部212は、本発明における履歴記憶手段に相当する。
【0070】
以下では、まず図2の各部の機能の概要について順次説明し、その後、ファイル削除の手順について説明する。この実施例では、オペレーティングシステムとしてMS-Windowsシステム(マイクロソフト社の商標)を使用した場合について説明する。
【0071】
B.ファインダ部202の機能の概要:
ファインダ部202は、ハードディスク84内のファイル管理用ツールである。ファインダ部202の主要な機能は、ハードディスク84内に格納されているファイルを各種のモードで一覧表示する機能である。ユーザは、これらの一覧表示を利用してハードディスク84の使用状況を把握し、不要なファイルを検索することができる。ユーザは、一覧表示の中から不要なファイルを選択して削除することもできる。ファインダ部202による一覧表示の機能としては、以下に説明する「ドライブ別一覧」、「ディレクトリ別一覧」、「拡張子別一覧」、「アクセス履歴を含むファイル一覧」、「カレンダ表示」がある。
【0072】
(1)ドライブ別一覧:
この機能では、コンピュータシステムの各ディスクドライブのドライブ名(A,B,C等)、ボリューム名、全容量、使用容量、空き容量、使用率(=使用容量/全容量)等が一覧表示される。ユーザは、この一覧表示によって、どのディスクドライブのファイルを整理すべきかを判断することができる。
【0073】
(2)ディレクトリ別一覧:
この機能は、各ディレクトリがどれくらいハードディスク84を占有しているかを一覧表示する機能である。図3は、ファインダ部202によるディレクトリ別一覧の画面表示の一例を示す図である。画面の左端にある4つのボタン「ドライブ」、「ディレクトリ」、「拡張子」、「履歴」、「カレンダ」は、それぞれ「ドライブ別一覧」、「ディレクトリ別一覧」、「拡張子別一覧」、「アクセス履歴を含むファイル一覧」、「カレンダ表示」の機能を選択するための一覧表示選択ボタンである。ディレクトリ別一覧では、各ディレクトリの名称、各ディレクトリ内に含まれているファイル数、ディレクトリの使用容量、ディスクドライブ内での各ディレクトリの利用率等が表示される。ユーザは、この一覧表示から、どのディレクトリを削除すればディスクドライブの空き容量を増加させることができるかを容易に判断することができる。また、一覧表示されたディレクトリの1つをマウス73で選択し、画面上にある「削除」のボタンを押せば、そのディレクトリとディレクトリ内の全ファイルを削除することができる。
【0074】
(3)拡張子別一覧:
この機能は、各拡張子のファイルがどれくらいハードディスク84を占有しているかを一覧表示する機能である。「拡張子」は、ファイル名に付加されている3文字の記号であり、ファイルの種類によってそれぞれ異なる拡張子が付加されている。図4は、ファインダ部202による拡張子別一覧の画面表示の一例を示す図である。拡張子別一覧では、各拡張子に対応するアプリケーション名(アプリケーションに関連付けられないファイルはそのファイルの種類)、各拡張子を有するファイル数、各拡張子を有するファイルの使用容量、ディスクドライブ内での利用率等が表示される。ユーザは、この一覧表示から、どの拡張子のファイルを削除すればディスクドライブの空き容量を増加させることができるかを容易に判断することができる。また、一覧表示された拡張子をマウス73で選択し、画面上にある「削除」のボタンを押せば、その拡張子を有する全ファイルを削除することができる。
【0075】
以上のように、ファインダ部202は、「ドライブ別」、「ディレクトリ別」、「拡張子別」等の分類情報に応じて、ハードディスク84に格納されているファイルを複数のファイル群に分類し、分類されたファイル群を一覧表示する分類手段としての機能を有している。図3や図4に示す画面の左端に表示された「ドライブ」、「ディレクトリ」、「拡張子」のボタンとマウス73は、分類情報選択手段としての機能を実現している。また、分類されて一覧表示されたファイル群を選択する際のマウス73はファイル群選択手段としての機能を実現している。ファインダ部202はさらに、選択されたファイル群を削除する削除実行手段としての機能も有している。
【0076】
(4)アクセス履歴を含むファイル一覧:
図5は、アクセス履歴を含むファイル一覧の画面表示の一例を示す図である。各ファイルのアクセス履歴は、履歴記録部212(図2)内の履歴データベース226に記録されている。ユーザが図5の「履歴」のボタンをマウス73で押すと、図5に示すように個々のファイルのパス名(ドライブ名とディレクトリ名とファイル名とで構成される)、アクセス数、最終アクセス日時、利用度、登録日、更新日時等が表示される。ここで、「登録日」とは、そのファイルが履歴データベース226に最初に登録された日時を示す。また、「更新日時」とは、そのファイルが更新された日時を示す。「利用度」は、アクセスされた日時とアクセス回数に応じて例えば図6のように分類される。アクセス履歴の一覧を使用すれば、あまり使用していないファイルを容易に探すことができる。なお、ユーザは、図6に示す利用度の分類条件を変更することができるので、特定の分類条件を満足するファイルを容易に検索することができる。
【0077】
ところで、図5のようなファイルの一覧表示であまり利用されていないファイルを発見した際に、そのファイルの内容を確認して削除するか否かを判断したい場合がある。この場合には、図5の上部にある「詳細」ボタンをマウス73で押すと、図7に示すファイルの詳細情報が画面に表示される。ファイルの詳細情報としては、パス名を含むファイル名、更新日時、ファイルサイズ、アクセス回数、最終アクセス日時、および、ファイルの概要が表示される。ファイルの概要としては、そのファイルがアプリケーションプログラムの実行ファイルの場合には、そのアプリケーションプログラムの名前とアイコンとが表示される。また、アプリケーションプログラムで作成されたデータファイルである場合には、その旨が表示される。
【0078】
詳細情報が表示されたファイルの内容を表示したい場合には、図7の画面の右端にある「表示」のボタンをマウス73で押せばよい。こうすると、そのファイルの内容を画面に表示することができる。例えば、そのファイルがワードプロセッサ、グラフィックス、表計算プログラム等のアプリケーションプログラムで作成されたデータファイルである場合には、そのアプリケーションプログラムを立上げること無く、その内容(文書、画像、スプレッドシート等)が画面上に表示される。この表示機能は、ファイル内容を画面に展開するプログラムを用いて実現することができる。このプログラムは、各アプリケーションプログラムのデータファイルのファイル構造を保存しており、そのファイル構造に従ってファイル内容を画面に展開する。ファインダ部202は、このようにファイルの内容を画面に表示できるので、個々のファイルを実際に削除してもよいか否かをユーザが容易に判断することができる。
【0079】
なお、図5において、ファイルを一覧表示する機能は本発明におけるファイルリスト表示手段に相当し、この一覧表示の中からマウス73を用いて詳細表示を行なうファイルを選択する機能は本発明における表示対象ファイル選択手段に相当する。また、図7の「表示」ボタンを押してファイルの内容を表示する機能は、本発明におけるファイル内容表示手段に相当する。
【0080】
(5)カレンダ表示:
カレンダ表示では、カレンダに類似した画面が表示され、その個々の日にアクセスされたファイル名が示される。この機能を利用すれば、アクセス日時からファイルを検索することができる。
【0081】
C.クリーナ部204の機能の概要:
クリーナ部204は、以下に説明するように、アプリケーションプログラムの削除や、不要ファイルの削除、所定のファイル内の情報の削除等を行なう削除実行手段としての種々の機能を有している。
【0082】
(1)アプリケーションのアンインストール機能:
アプリケーションのアンイストール機能とは、アプリケーションを実行するための種々のファイルと情報をハードディスク84から削除する機能を言う。アプリケーションのアンインストールを行なうには、アプリケーションの実行ファイル(EXE ファイル)の削除の他に、そのアプリケーションのみに使用されているDLL ファイルの削除、アプリケーションのINI ファイル(設定ファイル)の削除、アイコンの削除、システムのファイル(WIN.INI やレジストリファイル等)に登録された情報の削除等の処理が必要となる。アプリケーションのアンインストール機能の詳細は後述する。
【0083】
(2)INI ファイルのクリーン機能:
INI ファイルのクリーン機能は、不要なINI ファイルの削除と、Windows システムのINI ファイルであるWIN.INI ファイル内の不要な記述の削除とを行なう機能である。INI ファイルとは、種々の環境設定を保存するための設定ファイルである。Windows システムに関連するINI ファイルとしては、Windows システム全般に関する設定を保存するWIN.INI や、デバイスドライバに関する設定等を保存するSYSTEM.INIなどがある。また、各アプリケーションもそれぞれ独自のINI ファイルを有していることが多い。
【0084】
図8は、WIN.INI のファイル内容の一例を示す説明図である。一般に、INI ファイルはテキストファイルであり、図8に示すように、括弧[]で囲まれたセクションに分けられている。また、各セクションには、等号「=」の前に置かれたキーと、等号の後に置かれた値との組み合わせで表現された種々の記述が含まれている。Windows セクションには、Windows システムの全般に関係する設定が登録されている。例えば「run 」というキーは、Windows システムの起動時に起動するアプリケーションプログラムを設定するためのキーである。Desktop セクションには、画面の背景パターンや壁紙等の設定が登録されている。また、Extensionsセクションには、アプリケーションプログラムの実行ファイルと拡張子との関連付けが登録されている。例えば、「cal 」という拡張子は、calendar.exeという実行ファイルに関連付けられている。
【0085】
アプリケーションプログラムがインストールされると、そのアプリケーションプログラムに関する関連付けの記述がWIN.INI 内のExtensionsセクションに追加されるのが普通である。図8の例では、「Disk 2.0」というアプリケーションプログラムの拡張子「dxt 」と、その実行ファイルDXUTW.EXE との関連付けが追加されている。また、アプリケーションプログラムのインストールの際には、そのアプリケーション専用のセクションがWIN.INI 内に追加されることが多い。図8の例では、[DXUTW] というセクションが追加されている。アプリケーションプログラム専用のセクション名は、その実行ファイルのファイル名から拡張子を除いたものに設定されるのが普通である。
【0086】
クリーナ部204のINI ファイルのクリーン機能を起動すると、ハードディスク84内のINI ファイルが一覧表示される。ユーザは一覧表示の中から不要なINI ファイルを選択して削除を実行することによって、不要なINI ファイルを容易に削除することができる。また、INI ファイルのクリーン機能の一部として、WIN.INI 内のセクションの記述を削除したり変更したりするINI ファイルの編集機能も備えられている。
【0087】
(3)重複ファイルのクリーン機能:
重複ファイルのクリーン機能は、異なるディレクトリ内に格納されている同一名のファイルを表示する機能である。ユーザは、表示されたファイルの中で不要なファイルを選択して削除することができる。また、図7に示したような詳細情報の表示や、ファイルの内容表示機能を利用することによって、ファイルのアクセス履歴や内容を確認した後に、そのファイルを削除するか否かを決定することも可能である。
【0088】
(4)孤立ファイルのクリーン機能:
孤立ファイルのクリーン機能は、参照されていないファイルを削除するための機能である。この機能を起動すると、実行ファイルから参照されていないDLL ファイル(後述する)や、プログラムマネージャから参照されていないグループファイル、アプリケーションのアンインストール後に残っているそのアプリケーションのINI ファイル等が一覧表示される。ユーザは、このようなファイルの一覧表示の中から不要なファイルを指定して、削除を実行する。
【0089】
DLL ファイルとは、Windows システムのアプリケーションプログラムの実行ファイルに動的にリンクされる動的リンクライブラリ(Dynamic Link Library)と呼ばれているライブラリである。従来のアプリケーションではライブラリ部分は静的なリンクであり、アプリケーションプログラム作成時にライブラリがプログラムの一部に埋めこまれていた。一方、DLL ファイルでは、アプリケーションプログラム作成時には、ライブラリのファイル名と呼び出す関数名がプログラムに書き込まれるだけであり、ライブラリ部分は別ファイルとして提供される。そして、アプリケーションの実行ファイルは、実行時に初めてそのDLL ファイルと結合されるようになっている。Windows システムの場合には、そのオペレーティングシステムの各種の機能を利用するためのシステムコール自体がこのDLL ファイルとなっているため、すべてのアプリケーションプログラムが直接的、間接的にDLL ファイルを利用していることになる。アプリケーションのインストール時には、これらのDLL ファイルをアプリケーション自身のディレクトリにコピーするようになっているものが多い。しかし、他のプログラムとDLL ファイルを共有するような場合には、Windows システムのディレクトリにDLL ファイルをコピーする場合もある。このような場合には、どのアプリケーションがどのDLL ファイルを参照しているかは表向きわからないので、実行ファイルとDLL ファイルの参照関係を何らかの方法で調べる必要がある。なお、DLL ファイルの参照関係は、後述する参照DLL の解析機能を利用することによって調べることができる。
【0090】
(5)Windowsシステムの不要ファイルクリーン機能:
この機能は、スタンダートモード用のファイルや、利用しないユーティリティプログラムなどのWindows システムのファイルをカテゴリ別にファイル表示して、不要ファイルの削除を行なうための機能である。カテゴリとしては、ディスプレイドライバ、プリンタドライバ、フォント、IME(日本語入力プログラム)等がある。ユーザは、カテゴリ別のファイルの一覧表示の中から不要なファイルを指定して、削除を実行する。
【0091】
(6)DOSシステムの不要ファイルクリーン機能:
この機能は、MS-DOS(マイクロソフト社の商標)のファイルの中で不要なものの削除を行なうための機能である。Windows システムを主に利用している場合には、MS-DOSのシェルなどの使用しないシステムファイルを削除してもよい。この機能を起動すると、ファイル名とその概要が一覧表示されるので、ユーザが不要なファイルを指定して、削除を実行する。
【0092】
(7)その他の不要ファイルクリーン機能:
不要と考えられるものとしては、他に次のようなものある。
▲1▼空きのディレクトリ。
▲2▼バックアップファイル(拡張子がbak,$?$,JA$等のもの)。なお、「? 」は任意の一文字を示すワイルドカードである。
▲3▼サイズが0のファイル。
▲4▼テンポラリファイル(拡張子がtmp等のもの)。
▲5▼ディスク修復後のファイル(ファイル名がfile????._dd,file????.chkなどのもの)。
【0093】
クリーナ部204からその他の不要ファイルのクリーン機能を起動すると、これらのファイルの一覧が表示される。ユーザは、その中から不要なファイルを指定して、削除を実行する。
【0094】
D.リソース監視部206の機能の概要:
リソース監視部206は、システムリソースと外部記憶装置の使用状態を監視するための種々の機能を有している。ここで、「システムリソース」とは、Windows メモリ、GDI(グラフィックス・デバイス・インタフェイス)用メモリ、USERメモリ、コンベンショナルメモリ等のメモリ領域のことを言う。リソース監視部206の監視機能をオンに設定しておくと、リソース監視部206が常にシステムリソースと各ディスクドライブの使用率を監視する。そして、システムリソースやディスクドライブの空き容量が所定値以下になった時に、画面表示や警告音などによってユーザに警告を発する。こうすれば、システムリソースの空き容量が低下した際に複数のアプリケーションの一部を終了するなどの対応を行なって、システムリソースの空き容量が過度に低下することを防止できるので、Windows システムのクラッシュを防止することができる。また、外部記憶装置の空き容量が少なくなり、ファイルの削除が必要となった状態を直に知ることができる。
【0095】
E.アークファイラ部208の機能の概要:
アークファイラ部208は、LZH,ZIP等の各種の圧縮データ形式のアーカイブファイル(書庫ファイル)の管理機能を有している。具体的には、ハードディスク84に格納されているファイルを圧縮して書庫ファイルを作成する機能と、書庫ファイルを解凍する機能とがある。また、ドラッグアンドドロップもサポートされており、アークファイラ部208のウィンドウと他のウィンドウとの間でファイルのアイコンを移動させるだけで、ファイルの圧縮や解凍を行なうことができる。
【0096】
F.レスキュー部210の機能の概要:
レスキュー部210は、Windows システムの動作に必要な各種のファイルの保存と復元を行なう機能を有している。ユーザが、正常に動作しているWindows システムをレスキュー部210に保存するように指示すると、その時点におけるWindows システムの起動に必要な各種のファイルがレスキュー部210によって保存される。保存されるファイルには、Windows システム用INI ファイル(WIN.COM,REG.DAT,WIN.INI,SYSTEM.INI 等)、メモリマネージャ、デバイスドライバ、CONFIG.SYS、AUTOEXEC.BAT等が含まれている。レスキュー部210は、MS-DOSシステムから起動することができ、Windows システムが起動しなくなったり正常に動作しなくなった場合に、保存していたファイルを復元して正常なWindows システムを構築することができる。
【0097】
G.履歴記録部212の機能の概要:
履歴記録部212は、ハードディスク84に格納されたファイルがアクセスされたときに、そのアクセスを検出して、履歴データベース226にアクセス履歴として記録する機能を有している。ファイルのオープンが行なわれると、常駐プログラムであるアクセス監視部220(図2)がこれを検出して、履歴ログ222にそのファイルがアクセスされたことを記録する。履歴データベース更新部224は、Windows システムのスタートアップグループ(Windows システムの起動時に実行されるアプリケーションを含むグループ)に登録されており、Windows システムの起動時に履歴ログ222の内容を履歴データベース226に反映することによって、履歴データベース226を更新する。履歴データベース226に登録される内容は、パス名を含むファイル名、アクセス回数、アクセス日時、ユーザ名等である。
【0098】
ユーザは、ファインダ部202やクリーナ部204のウィンドウからファイルのアクセス履歴を要求して、各ファイルのアクセス履歴を図5のように表示させることができる。従って、アクセス履歴に応じ各ファイルの要否を決定することができる。
【0099】
H.クリーナ部204の詳細とファイル削除の手順:
図9は、クリーナ部204の内部構成を示すブロック図である。クリーナ部204は、ユーザインタフェイス部230と、情報取得部232と、解析部234と、アンインストール部236と、バックアップ部238と、参照リンク240とを有している。ユーザインタフェイス部230は、クリーナ部204を利用する際の種々の画面を作成して表示する機能と、ユーザからの指示を受け取る機能を有する。また、情報取得部232は、Windows システムのプログラムマネージャや各種の設定ファイル(INI ファイル)から必要な情報を取得する機能を有する。解析部234は、後述する各種の解析を実行する機能と、参照リンク240を作成する機能とを有する。アンインストール部236は、削除対象として指定されたファイルの削除を実行する削除実行手段としての機能を有する。また、バックアップ部238は、バックアップの対象として指定されたファイルを書庫ファイルとして保存するバックアップ実行手段としての機能を有する。バックアップ部238は、前述したアークファイラ部208とは別個にクリーナ部204内に設けられている。
【0100】
図10は、クリーナ部204を用いて行なうアプリケーションプログラムのアンインストール処理の手順を示すフローチャートである。ユーザがクリーナ部204のアンインストール機能を選択すると、ステップS1において図11に示すようなアプリケーションの選択画面(選択ダイアログ)が表示される。このダイアログの左側には、Windows システムのプログラムマネージャに登録されているアイコンがアウトライン形式でリスト表示される。すなわち、第1レベルとしてグループ名が表示され、第2レベルとしてそのグループ内のアイコンとタイトルとが表示される。グループ名の右側には、内部に含まれているアイコン数が表示される。
【0101】
選択ダイアログの右端には、アンインストール時の実行方法を指定するチェックボックス(「試行」、「バックアップ」、「確認する」と記されたもの)と、左側のリスト表示で選択されているグループまたはアイコン(反転表示されているもの)の登録内容と、コマンド実行用のボタンとが表示される。
【0102】
図11に示すように、アイコンの登録内容は、タイトルと、コマンドラインと、実行時のディレクトリと、アイコンのファイル名とを含んでいる。一般に、Windows アプリケーションは、インストールされるとプログラムマネージャにそのアプリケーションのグループを作成し、その内部にアプリケーション起動用のアイコンを登録する。このアイコン登録には、上記の4つの内容が含まれている。「タイトル」とは、アプリケーションの名称である。「コマンドライン」とは、アプリケーションを起動するためのコマンドである。コマンドラインには、実行ファイルのファイル名が含まれているが、必要に応じて他のファイル名やパラメータが含まれている場合がある。コマンドラインの例については後述する。「実行時のディレクトリ」は、アプリケーションを実行するときの初期ディレクトリである。プログラムマネージャは、アプリケーションを起動する前にこのディレクトリにカレントディレクトリを設定してから起動する。従って、アプリケーションで読み出すファイルやアプリケーションで作成したファイルは、このディレクトリ内のファイルとして指定される。「アイコン」には、アイコンのファイル名とその中のアイコンの順番が保存されている。
【0103】
図10のステップS2において、ユーザが選択ダイアログの「アンインストール」または「解析」のボタンを選択すると、カーソル位置によって選択されているグループまたはアイコンに登録されているアプリケーションの解析がステップS3で実行される。以下では、1つのアイコンを解析対象として選択した場合について説明する。グループが選択されている場合には、そのグループ内のすべてのアイコンに関して処理が行なわれる。
【0104】
なお、図11に示す選択ダイアログボックスとマウス73は、本発明におけるアイコン選択手段の機能を実現している。
【0105】
図12は、実施例におけるディレクトリ構造を示す説明図である。<>で囲まれたものはディレクトリ名を示し、囲まれていないものはファイル名を示している。この例では、ディスクドライブ「A:\ 」に、2つのディレクトリ<DISK2 >と<Windows >があり、ディレクトリ<Windows >の中には<SYSTEM>というサブディレクトリが設けられている。以下の説明では、このディレクトリ<DISK2 >に格納されているアプリケーションプログラムのアンインストールを行なう場合について主に説明する。
【0106】
図13は、ステップS3の詳細手順を示すフローチャートである。ステップS11では、アイコンの登録内容から、削除対象のメインファイルの解析が実行される。ここでは、アイコンに登録されているコマンドライン(図11)が調べられる。
【0107】
図14は、ステップS11の詳細手順を示すフローチャートである。また、図15は、コマンドラインの例を示す説明図である。
【0108】
アイコンに登録されているコマンドラインは、アイコンをマウスでクリックした時に実行されるコマンド(命令)である。コマンドラインは、次に示すような2つの形式のいずれかであるのが普通である。
【0109】
▲1▼ <実行ファイル>
▲2▼ <実行ファイル>+<データファイル>
【0110】
上記▲1▼のように、1つの実行ファイルのみがコマンドラインに記述されている場合には、そのアイコンの登録の対象となっているのは、その実行ファイルのアプリケーションプログラムそのものである。また、上記▲2▼のように、実行ファイルの他にデータファイルが記述されている場合には、実行ファイルのアプリケーションではなく、データファイルがアイコンの登録の対象となっていることが多い。例えば、データベースプログラムのデータベースがアイコンとして登録されている場合などがこれに該当する。この場合には、データファイルを優先して削除対象とすることが望ましい。また、▲2▼の場合には、実行ファイルがWindows システムの標準的な実行ファイルであることがあるので、実行ファイルを削除することはできない場合が多い。さらに、コマンドラインには、図15の例のように、実行ファイル(EXE ファイル)やデータファイルの他に、実行時の条件を示すパラメータ等が含まれていることがある。
【0111】
このように、コマンドラインには実行ファイルを示す文字列の他に種々の文字列が含まれているので、図14に示すような手順でコマンドラインの解析を行ない、アイコンの登録対象となっている実体的なファイルを削除対象メインファイルとして特定する。解析部234によるこのような解析機能は、本発明における削除対象メインファイル特定手段の機能に相当する。
【0112】
図14のステップS31では、コマンドラインが複数の文字列を含むか否かが判断される。コマンドラインが1つの文字列しか含まない場合は、その文字列は実行ファイルのファイル名であるのが普通である。この場合には、ステップS32においてその文字列のファイルが実在するか否かが判断される。文字列で示されるファイルが実在するか否かを判断する際には、そのファイルをWindows システムで決められているパスサーチ順を考慮して検索する。
【0113】
Windows システムのパスサーチ順とは、Windows システム上でプログラムを実行する場合に、その実行ファイルのファイル名がフルパス(ディスクドライブ名からディレクトリまで含む完全なパス)で指定されていない場合に、その実行ファイルを探す順序を言う。具体的には、次の順序でパスがサーチされる。
【0114】
(1)カレントディレクトリ。
(2)Windows ディレクトリ(図12の<Windows >)。
(3)Windows システムディレクトリ(図12の<SYSTEM>)。
(4)現在のタスクを実行している実行ファイルのあるディレクトリ(実施例では、ディスク整理プログラムのあるディレクトリ)。
(5)PATH環境変数内にリストされているディレクトリ。
(6)ネットワークに割り当てられているディレクトリ。
【0115】
その文字列のファイルが実在する場合にはそのファイルが削除対象メインファイルとして特定され(ステップS34)、実在しない場合には削除対象メインファイルなしとされる(ステップS33)。
【0116】
一方、コマンドラインが複数の文字列を含む場合には、ステップS41以降の処理が実行される。ステップS41では、まず最初の文字列について、そのファイルが実在するか否かが判断される。この際にもWindows システムのパスサーチ順で探索が行なわれる。その文字列で示されるファイルが実在すれば、ステップS42において、そのファイルが実行ファイルであるか否かが判断される。実行ファイルでなければ、そのファイルが削除対象メインファイルとして特定される(ステップS44)。一方、そのファイルが実行ファイルであれば、それ以外のファイルがアイコンの登録対象となっている可能性があるので、ステップS43において次の文字列があるか否かを調べる。次の文字列があれば、ステップS41とステップS42とを再度実行する。こうして、ステップS41〜S43を繰り返すことによって、複数の文字列の中で、実行ファイルでなく実在するファイルを探索する。そして、実行ファイルでなく実在するファイルがあれば、そのファイルを削除対象メインファイルとする(ステップS44)。一方、実行ファイルでなく実在するファイルが存在しなければ、コマンドラインの1番目にある実行ファイルを削除対象メインファイルとする(ステップS45)。
【0117】
なお、各文字列で示されるファイルが実在するか否かを判断する場合に、「/」(スラッシュ)や「−」(マイナス)で始まる文字列は実在しないものと判断され、ファイルの探索はスキップされる。これは、「/」や「−」で始まる文字列は実行時のパラメータだからである。
【0118】
図14の手順によれば、コマンドラインが実行ファイルを示す1つの文字列のみを含むような場合には、その実行ファイルが削除対象メインファイルとして特定される。一方、図15に示す3つのコマンドラインの例のように、コマンドラインが実行ファイル以外の文字列を含んでいる場合には、実行ファイルでなく、かつ、実在するファイルを示す文字列があれば、その実在するファイルが削除対象メインファイルとして特定される。
【0119】
図15(A)に示す例では、コマンドラインに2つの文字列が含まれており、最初の文字列で示される実行ファイルは実在する。この時、2番目の文字列で示されるファイルが実在すれば、そのファイルが削除対象メインファイルとなり、実在しなければ1番目の文字列で示される実行ファイルが削除対象メインファイルとして特定される。
【0120】
図15(B)で示される例では、コマンドラインに5つの文字列が含まれており、最初の文字列で示される実行ファイルは実在する。2番目と3番目の文字列は「/」(スラッシュ)で始まっており、実行時のパラメータなので実在しないものと判断される。従って、残りの4番目と5番目の文字列で示されるファイルが実在するか否かに応じて、図15(B)に示すように削除対象メインファイルが特定される。
【0121】
図15(C)で示される例では、コマンドラインに4つの文字列が含まれており、最初の文字列で示される実行ファイルは実在する。2番目の文字列はディレクトリを示しているので、そのファイルは実在しない。また、3番目、4番目の文字列もパラメータを示しているので、そのファイルは実在しない。この場合には、1番目の文字列で示される実行ファイルが削除対象メインファイルとして特定される。
【0122】
なお、図14の手順では、コマンドラインの左端から文字列を調べるようにしていたが、コマンドラインの右端から文字列を調べるようにしてもよい。また、削除対象メインファイルを1つと限定する必要はなく、コマンドラインから複数の削除対象メインファイルを特定するようにしてもよい。例えば、コマンドラインに含まれるすべてのファイルを削除対象メインファイルとしてもよい。
【0123】
こうして削除対象メインファイルが特定されると、図13のステップS12において、削除対象メインファイルが実行ファイルであるか否かが判断される。実行ファイルであればステップS13〜S19の解析が実行され、実行ファイルでなければこれらのステップを省略してステップS20に移行する。
【0124】
なお、ステップS12〜S22における種々の解析処理の機能は、本発明における検索手段に相当する。
【0125】
ステップS13では、参照DLL ファイルと参照VBX ファイルの解析が実行される。ここで、「VBX ファイル」とは、Visual Basic(マイクロソフト社の商標)用のカスタムコントロール(リストボックスやボタンなどプログラム作成の部品として利用できるプログラム)である。その実体部分は、Visual Basic本体と通信するためのAPI 関数(APplication Interface 関数)によって呼び出されるDLL である。一般に、VBX はVisual Basicのプログラム内で利用が宣言され、Visual Basicで作成した実行ファイルに参照情報が書き込まれている。しかし、この形式は、実行ファイルからのDLL への参照とは異なる形式で書き込まれている。このため、アプリケーションプログラムによるVBX の参照関係は、DLL とは別に調査する。
【0126】
図16は、ステップS13の詳細手順を示すフローチャートである。ステップS51〜S53では、実行ファイル内に含まれているインポート名テーブルとリロケーションテーブルとを調べて、DLL やVBX を参照しているか否かを判断する。
【0127】
図17は、インポート名テーブルとリロケーションテーブルの構成を示す説明図である。実行ファイルやDLL ファイルは、MS-DOSヘッダと、情報ブロックと、セグメントテーブルと、モジュール参照テーブルと、インポート名テーブルと、コードセグメントと、リロケーションテーブル等の種々のブロックが含まれている。情報ブロックには、これらの各ブロックの位置を示す情報が登録されている。
【0128】
インポート名テーブルには、DLL の名前や関数名などの名前が可変長で登録されており、また、その名前の長さが登録されている。モジュール参照テーブルには、各DLL や各関数について、インポート名テーブルの先頭アドレスからのオフセットが登録されている。これは、インポート名テーブル内の名前が可変長だからである。
【0129】
リロケーションテーブルは、コードセグメントの後に設けられている。リロケーションテーブルには、項目数と、アドレス、リロケーションタイプ、コードセグメント内の参照位置、モジュール参照テーブルのインデクス、および、インポート名テーブルのオフセットまたはDLL 内の関数の順序数が登録されている。アドレスタイプとリロケーションタイプは、実行ファイルがDLL や関数を参照する方法を示す情報である。コードセグメント内の参照位置は、コードセグメント内においてDLL や関数を参照している位置を示している。モジュール参照テーブルのインデクスは、そのDLL や関数の情報が、モジュール参照テーブルの何番目の情報として登録されているかを示している。インポート名テーブルのオフセットは、モジュール参照テーブルに登録されているものと同じ情報である。これは、モジュール参照テーブルを使用せずに、直接インポート名テーブルを参照する場合に使用される。DLL 内の関数の順序数とは、DLL に含まれている複数の関数の1つを使用する場合に、その何番目の関数を使用するかを示す数である。
【0130】
参照DLL を調べる場合には、リロケーションテーブル内に登録されているモジュール参照テーブルのインデックスから、モジュール参照テーブル内に登録されているオフセット位置を調べる。そして、インポート名テーブルから、そのオフセット位置に登録されている名前を読み出すことによって、参照しているDLL や関数を調べることができる。
【0131】
図16のステップS51では、上述の方法によってインポート名テーブルの中を調べ、そこに含まれているDLL のファイル名を解析部234内部の参照DLL のリストに加える。ステップS52では、インポート名テーブル内にVBRJP200.DLLやVBRUN200.DLLなどのVisual BasicのDLL の情報が含まれているかどうかを調べる。Visual BasicのDLL の情報が含まれていれば、VBX を参照している可能性があるので、後述するステップS54における実行ファイル内の解析を行なう。
【0132】
ステップS53では、リロケーションテーブルの中で、LoadLibrary()というAPI 関数を利用しているかどうかを調べる。Windowsシステムでは、LoadLibrary() を利用することで、実行時に動的にDLLを指定してその内部の関数を呼び出すことができる。従って、このLoadLibrary() がリロケーションテーブルに含まれていれば、ステップS54における実行ファイル内の解析を行なう。
【0133】
ステップS54では、実行ファイルの内部を解析して「.DLL」、「.VBX」の文字列を検索する。これらの文字列が含まれている場合は、そのDLL ファイルやVBX ファイルが実際に存在するか否かをチェックした上で、参照DLL と参照VBX のリストに加える。参照DLL や参照VBX の存在をチェックする場合にも、前述したパスサーチ順でそのファイル名のファイルが探索される。このため、別々のディレクトリに同じ名称のDLLがあっても、互いに区別されることになる。
【0134】
ところで、DLL ファイルやVBX ファイル自体が、他のDLL を参照している場合がある。そこで、ステップS55では、参照DLL と参照VBX のそれぞれについて、ステップS51〜S54と同様の処理を行なって、参照DLL や参照VBX に含まれているDLL やVBX を参照リストに加える。そして、この処理を未チェックのDLL やVBX がなくなるまで実行する。
【0135】
参照DLL の中には、Windowsシステムが提供するDLL ファイルも含まれている(GDI.EXE ,COMMDLG.DLL など)。これらのDLL ファイルは削除してはならないので、解析部234はこれらのファイル名をあらかじめ記憶しており、参照DLL の解析対象から除外する。
【0136】
ここで、図12に示すディレクトリ構造を対象にして、参照DLL と参照VBX とを解析する例を説明する。削除対象メインファイルがディレクトリ<DISK2 >に含まれている実行ファイル「DXUTW.EXE 」であるものと仮定する。まず、ステップS51でこの実行ファイルDXUTW.EXE のインポート名テーブルを調べると、VBRJP200.DLLが含まれていることが解るので、これを参照DLL のリストに加える。VBRJP200.DLLはVisual BasicのDLL なので、ステップS54において実行ファイルDXUTW.EXE の内部の解析を行う。ここで、実行ファイルDXUTW.EXE の内部に、DXUTW.DLL ,MSGBLAST.VBX ,SPIN.VBX ,THREED.VBXの各文字列が見つかると仮定する。これらの各文字列のファイルを上述したパスサーチ順で検索すると実在するので、これらを参照リストに加える。この時点での参照リストは図18に示すものになる。
【0137】
以上の処理で、実行ファイルDXUTW.EXE が直接参照しているDLL とVBX が判明した。次に、ステップS54において、見つかった各参照ファイルについて、それぞれがさらに参照しているDLL とVBX を探索する。VBRJP200.DLLのインポート名テーブルには、KERNEL,GDI,USER,KEYBOARD,WIN87EMなどのDLL が含まれているが、これらはWindowsシステムが提供するDLLファイルなので、参照リストには追加されない。また、VBRJP200.DLLのリロケーションテーブルを調べると、LoadLibrary() が使用されていることがわかるので、VBRJP200.DLLの内部サーチを行うと、VBRJP200.DLLが見つかる。しかし、これは自分自身なので参照リストには追加されない。このようにして、図18に示す各ファイルについて参照DLL と参照VBX とが調べられる。この結果、実行ファイルDXUTW.EXE が参照しているDLL、VBXの参照リストは、最終的に図18に示したリストと同じものとなる。
【0138】
こうして参照DLL と参照VBX の解析が終了すると、図13のステップS14においてINI ファイルの解析が行なわれる。アプリケーション専用のINI ファイルは、Windows ディレクトリ内、または、アプリケーションの実行ファイルと同じディレクトリ内に、アプリケーションの実行ファイル名と同じ名前で作成されるのが普通である。例えば、実行ファイル名が「APP1.EXE」であれば、通常は「APP1.INI」というINI ファイルが作成される。そこで、ステップS14では、実行ファイルのファイル名の拡張子部分を「INI 」に変更した名称を有するファイルを、▲1▼Windows ディレクトリ、▲2▼実行ファイルのあるディレクトリ、の順に探し、そのファイルを見つけた場合に削除候補とする。
【0139】
なお、INI ファイルのファイル名に実行ファイルのファイル名とは異なる名前が付けられているアプリケーションプログラムも若干存在する。そのようなアプリケーションプログラムに関しては、解析部234がそのアプリケーションのINI ファイル名を記憶しておき、その実行ファイルが削除対象メインファイルとして特定された場合に、そのINI ファイル名を削除候補とする。
【0140】
削除対象メインファイルが図12に示す実行ファイルDXUTW.EXE である場合には、このファイル名の拡張子部分を「INI 」に変更したINI ファイルは「DXUTW.INI 」となる。このファイルを図12のディレクトリ構造から探すと、Windows ディレクトリに見つかるので、そのファイルを削除候補とする。
【0141】
図13のステップS15では、ヘルプファイルの解析が行なわれる。ヘルプファイルは、一般的に、アプリケーションプログラムの実行ファイル名の拡張子を「HLP 」に変えたものが利用されるので、その名称のファイルが実行ファイルのあるディレクトリ内に存在するか否かを調べ、存在すれば削除候補とする。削除対象メインファイルが実行ファイルDXUTW.EXE である場合には、このファイル名の拡張子部分を「HLP 」に変更したファイルは「DXUTW.HLP 」となる。このファイルを図12のディレクトリ構造から探すと、ディレクトリ<DISK2 >内に見つかるので、このファイルを削除候補とする。
【0142】
図13のステップS16では、アプリケーションプログラムの実行ファイルとデータファイルの関連付けの解析が行なわれる。前述した図8に示すように、この関連付けの情報は、Windows システムのINI ファイルであるWIN.INI内の[Extensions] セクションに次の形式で登録されている。
【0143】
<拡張子>=<実行ファイル名> ^.<拡張子>
【0144】
そこで、WIN.INI内の[Extensions] セクションを解析して、削除対象メインファイルを< 実行ファイル名 >とするエントリ(記述)が存在かどうかを調べる。そのエントリが存在する場合には、そのエントリを削除候補とする。例えば、削除対象メインファイルが実行ファイルDXUTW.EXE である場合を考えると、図8に示すように、この実行ファイルに対応するエントリ「dxt=a:\DISK2\DXUTW.EXE ^.dxt」が含まれているので、このエントリを削除候補とする。
【0145】
図13のステップS17では、拡張子のファイルの解析が行なわれる。特定の拡張子に関連付けられた実行ファイルを削除すると、その拡張子のファイル自体が取り扱えないようになる。このため、削除対象メインファイルに対する関連付けをWIN.INI の[Extensions]セクションから削除する場合には、その拡張子を有するファイルも削除候補とする。ただし、ステップS17ではファイルが実際に存在するかどうかは調べず、単に「拡張子<xxx> のファイル」が削除候補になる旨を登録する。
【0146】
図13のステップS18では、WIN.INI ファイル内のセクションの解析が行なわれる。アプリケーションプログラムによっては、個別のINI ファイルを使用せずに、WIN.INI 内にその環境設定の内容を書き込むものがある。その場合には、アプリケーションプログラムの実行ファイル名から拡張子部分を除いたものをセクション名とする場合が多いので、WIN.INI 内にそのようなセクションが存在するかどうかを調べ、存在する場合にはそのセクションを削除候補とする。例えば、削除対象メインファイルが実行ファイルDXUTW.EXE である場合を考えると、図8に示すように、この実行ファイル名に対応するセクション[DXUTW] がWIN.INI 内に存在する。従って、このセクションが削除候補として解析部234内に登録される。
【0147】
図13のステップS19では、アプリケーションディレクトリ内のファイルの解析が行なわれる。アプリケーションプログラムの実行ファイルを削除対象メインファイルとする場合には、その実行ファイル以外にも不必要になるファイルが存在する可能性がある。このため、その実行ファイルを含むディレクトリがWindows ディレクトリ(図12の<Windows> )やWindows システムディレクトリ(図12の<SUSTEM>)でない場合には、そのディレクトリ内のファイルを削除候補として登録する。例えば、削除対象メインファイルが図12に示す実行ファイル「A:\DISK2\DXUTW.EXE」である場合には、そのアプリケーションディレクトリは、A:\DISK2である。そこで、解析部234は、このディレクトリを以下のような形で削除候補のリストに加える。
【0148】
「ディレクトリ内のファイル A:\DISK2(個別に選択する)」
【0149】
後述する削除候補の確認処理(図10のステップS5)では、このディレクトリ内のファイルの中で、他の削除候補には含まれないファイルが一覧表示され、そこからユーザーが削除するファイルを選択する。図12に示すディレクトリ「A:\DISK2」内のファイルの中で、DXUTW.DLL は参照DLL ファイルとして削除候補となっており、DXUTW.HLP はヘルプファイルとして削除候補となっている。従って、ディレクトリ「A:\DISK2」内のその他の削除候補ファイルとしては、「XDRVOTPW.EXE」,「XDRVOPT.DLL 」,「README.WRI」の3つが一覧表示されることになる。
【0150】
図13のステップS20では、OLE 情報の解析が行なわれる。ここで、OLE とは、「オブジェクトとリンクの埋め込み」と呼ばれるWindows システムの機能である。ここで、「オブジェクト」とはアプリケーションプログラムで作成された絵やスプレッドシードなどの1つの単位の情報を意味する。OLE 機能を使用するアプリケーションプログラムには、オブジェクトを別の文書に埋め込んだりリンクしたりすることのできる「サーバー」と、他のアプリケーションが作成したオブジェクトを受け入れることのできる「クライアント」とがある。アプリケーションプログラムによってはサーバーにもクライアントにもなれるものがあり、また、いずれか一方にしかなれないものもある。OLE 機能のサーバーになれるアプリケーションプログラムは、インストール時に、Windows システムの登録データベース「REG.DAT 」(「レジストリファイル」とも呼ぶ)にその登録を行う。
【0151】
登録データベースREG.DAT には、windows システムのための各種の情報が登録されているが、その中に各アプリケーションプログラムのOLE 機能に関する登録も含まれている。実行ファイルを削除する場合には、登録データベースREG.DAT におけるOLE 情報の登録が無意味になるので、この登録情報も削除候補とする。具体的には、登録データベースREG.DAT の登録内容を調べて、OLE 機能で起動するアプリケーション名が削除対象メインファイルとなっている情報を削除候補とする。例えば、実行ファイルDXUTW.EXE が削除対象メインファイルである場合に、この実行ファイルに関して図19に示すようなOLE 情報が登録データベースREG.DAT に登録されているものとする。この時、図19に示す3つの登録内容が削除候補として解析部234内に登録される。図19のOLE 情報の第1行目の記述は、『拡張子「.dxt」のファイルは「Disk2.Document」というクラスのドキュメントファイルである』という意味を有している。また、第2行目は、『Disk2.Documentクラスのドキュメント名は「Disk2 ドキュメント」である』という意味を有しており、第3行目は『Disk2.DocumentクラスのファイルはアプリケーションA:\DISK2\DXUTW.EXEにより編集できる』という意味を有している。
【0152】
図13のステップS21では、図10のステップS2で選択されたアイコンの解析が行なわれる。図11に示したように、ステップS2においてプログラムマネージャのグループやアイコンを選択してアンインストールを指定した場合には、そのアイコンに関するプログラムマネージャ内の登録内容が削除候補のリストに加えられる。アイコンに関する登録内容は、図11に示す、「タイトル」、「コマンドライン」、「実行時のディレクトリ」、「アイコン」等の項目の内容である。また、「アイコン」で示されるアイコンファイルの拡張子が「.ICO」である場合には、そのアイコンファイルはアイコンの画像を表わすグラフィックファイルである。従って、そのアイコンファイルも削除候補に加える。図11の例では、アイコン登録情報のタイトルは「Disk ユーティリティ」なので、このタイトルのアイコンに関するプログラムマネージャの登録内容を削除候補に入れる。また、図11では、アイコンファイルが「DXUTW.EXE 」として指定されているが、これは拡張子が「.ICO」ではないので、削除候補とはしない。拡張子が「.ICO」ではないファイルを削除候補としないのは、そのファイルがアイコン画像の作成以外の目的で使用されている可能性が高いからである。
【0153】
図13のステップS22では、アプリケーションディレクトリの解析が行なわれる。ファイルの削除によってディレクトリが空になる場合は、そのディレクトリも削除できる。従って、削除対象メインファイルを含むディレクトリがWindows ディレクトリやWindows システムディレクトリでない場合には、そのディレクトリ自体が削除候補として追加される。例えば、削除対象メインファイルが図12に示す「A:\DISK2\DXUTW.EXE」である場合には、そのディレクトリ名「A:\DISK2」が以下のような形で削除候補リストに加えられる。
【0154】
「ディレクトリ A:\DISK2(ディレクトリが空になったら削除)」
【0155】
なお、図13の手順からも解るように、ステップS13〜S20における解析は削除対象メインファイルが実行ファイルである場合のみに行なわれるが、ステップS21,S22の解析は、削除対象メインファイルが実行ファイル以外の場合にも実行される。
【0156】
図20は、以上の解析の結果として得られた削除候補の内容を示す説明図である。なお、図20(A)〜(D),(F),(H)の削除候補はファイルであり、図20(K)の削除候補はディレクトリ、図20(E),(G),(I),(J)の削除候補は所定のファイル(WIN.INI 、REG.DATAおよびプログラムマネージャ)内に登録されている情報である。このように、実施例の解析部234は、個々のファイルやディレクトリを削除候補とするばかりでなく、削除対象メインファイルに関して所定のファイル内に登録されている情報も削除候補として特定するので、ユーザは、アプリケーションのアンインストール処理において、不要なファイルや情報をより効率的に削除することができる。
【0157】
こうして、図10のステップS3における解析が終了すると、ステップS4においてデフォルト削除候補が決定される。ステップS3における解析の結果としては、図20に示したような削除候補が解析部234内に登録されているが、この削除候補の中にも削除すべきでないファイルや情報が存在する可能性がある。そのため、ステップS4では、解析で得られた各削除候補ごとに、削除候補として実際に表示するかどうかを解析部234が判定する。
【0158】
図20(A)に示す削除対象メインファイルは、常にデフォールトの削除候補とする。図20(B)に示す参照DLL と参照VBX については、まず、参照リンク240(図9)に登録があるかどうかを調べる。
【0159】
参照リンク240は、実行ファイルが参照するDLL ファイルやVBX ファイルについての情報を登録したデータベースである。図21は、参照リンク240の登録内容を示す説明図である。参照リンク240には、図21(A)に示す実行ファイルリストと、図21(B)に示す被参照ファイルリストとが含まれている。実行ファイルリストには、参照関係の調査の対象となった実行ファイルが登録されている。また、被参照ファイルリストには、実行ファイルリストに登録されている実行ファイルから参照されているDLL ファイルおよびVBX ファイルと、参照されている回数とが登録されている。なお、参照リンク240の作成方法については、後述する。
【0160】
削除対象メインファイルが参照リンク240の実行ファイルリストに含まれてる場合には、削除候補となっている参照DLL や参照VBX (図20(B))の被参照数を調べる。被参照数が1であれば、1つの実行ファイルから参照されているだけなので、そのDLL やVBX をデフォルトの削除候補とする。一方、被参照数が2以上の場合には、削除できないので、デフォルトの削除候補から除外する。
【0161】
削除対象メインファイルが参照リンク240の実行ファイルリストに含まれていない場合には、参照リンク240を使用することはできない。この場合には、ステップS3における解析で得られた参照DLL や参照VBX を他の実行ファイルが使用している可能性があるので、参照DLL や参照VBX はデフォルトの削除候補から除外される。また、削除対象メインファイルが参照リンク240の実行ファイルリストに含まれていても、削除候補となっている参照DLL や参照VBX が被参照ファイルリストに含まれていない場合にも、他の実行ファイルが使用している可能性があるので、これらをデフォルトの削除候補から除外する。
【0162】
なお、図10のステップS2において複数の実行ファイルを含むグループが指定された場合には、図13のステップS11において複数の実行ファイルが削除対象メインファイルとして特定される。このときには、これらの実行ファイルからの参照数の合計値と、参照リンク240に登録されている被参照数とが一致しているか否かを調べる。例えば、図12に示すディレクトリ<DISK2 >を削除対象として指定した場合には2つの実行ファイル「DXUTW.EXE 」,「XDRVOTPW.EXE」が削除対象メインファイルとなる。この時、2つの実行ファイルがどちらも「DXUTW.DLL 」を参照している場合には、「DXUTW.DLL 」の被参照数は2となる。従って、参照リンク240に登録されている被参照ファイル「DXUTW.DLL 」の被参照数が2であれば、この被参照ファイルをデフォルトの削除候補とする。
【0163】
なお、図20(C)〜(K)に示すファイルと情報は、すべてデフォルトの削除候補とされる。
【0164】
デフォールトの削除候補が決定されると、その削除候補とそれ以外のファイルおよび情報が区別して表示される。図22は、削除候補を示す画面の一例を示す説明図である。なお、図22では図示の便宜上、図20に示す削除候補とは異なるファイル名が表示されているが、実際には、図20に示す削除候補が画面に表示されるはずである。
【0165】
画面の上部には、削除対象メインファイルのファイル名「A:\DISK2\DXUTW.EXE」とそのタイトルが表示されている。また、画面の中央部には、削除対象メインファイルの実行に伴って使用されるすべてのファイルや情報について、カテゴリと削除内容が表示されている。カテゴリとは、DLL ファイル、INI ファイル、ヘルプファイル、アイコンファイル等のファイルの種類である。削除内容の欄には、パス名を伴ったファイル名と注意書きとが書き込まれている。注意書きには、現在実行中で削除対象として選択できない旨や、他のプログラムで使用されているので削除対象として選択できない旨などが記載されている。デフォルトの削除候補とされたファイルや情報の行は反転表示されている。なお、図22(A)の画面と図22(B)の画面では、削除候補一覧の中の異なる部分が表示されている。
【0166】
ユーザは、各ファイルの行をマウス73でクリックすることによって、反転表示されている削除候補を削除対象から除外したり、削除候補でないものを削除対象として追加したりすることができる。なお、図22(B)のカテゴリに「ディレクトリ内のファイル」と書かれているディレクトリ「A:\DISK2」を選択すると、その行の下に、そのディレクトリ「A:\DISK2」に含まれているファイルの中ですでに表示されているファイルを除くすべてのファイルが一覧表示される。従って、ユーザは、その一覧表示の中から削除対象とするファイルを選択することができる。
【0167】
なお、図22の画面表示を用いてマウス73で削除対象を選択する機能は、本発明における削除対象選択手段に相当する。
【0168】
図22の画面上で削除対象を決定した後に、ユーザが画面右端の「アンインストール」ボタンをマウス73で押すと、図10のステップS5〜S9の処理が実行される。なお、ステップS5〜S9の中のどれが実行されるかは、図22の画面の上方にある3つのチェックボックス「試行」、「確認する」、「バックアップ」のチェック状態によって異なる。チェック状態に応じた処理の手順についてはさらに後述するが、以下ではまず、ステップS5〜S9がすべて実行される場合について説明する。
【0169】
ステップS5では、削除対象として選択された各ファイルや情報について、図23に示すような確認ウィンドウが表示される。ユーザは、各削除対象について、削除するか否かを個別に確認することができる。また、そのファイルの内容を再度確認したい場合には、図23の「詳細情報」ボタンをマウス73を用いて押すことによって、前述した図7に示すようなファイルの詳細情報を見ることができる。さらに、そのファイルが、ワードプロセッサ、グラフィックス、表計算プログラム等のアプリケーションプログラムで作成されたデータファイルである場合には、図7の「表示」のボタンを押すことによって、アプリケーションプログラムを立上げること無くその内容(文書、画像、スプレッドシート等)を画面上に表示することができる。
【0170】
こうして削除対象となっている各ファイルや情報の確認処理が終了すると、図10のステップS6において、クリーン情報ファイルが作成される。アンインストール処理では、ファイルの削除だけでなく、各種の設定ファイル(INI ファイル)や登録データベースREG.DAT の修正も行なわれる。そこで、アンインストール処理の復元を可能とするために、ファイルに対して行った修正等の内容を示すクリーン情報ファイルが作成される。このクリーン情報ファイルは、ステップS7におけるバックアップ時に、他のファイルと共に保存される。そして、アンインストール処理を復元する時には、バックアップファイルを復元した後で、このクリーン情報ファイル内容を解析することによって、設定ファイルや登録データベースの内容を元の設定状態に戻すことができる。
【0171】
図24は、クリーン情報ファイルに含まれる内容を示す説明図であり、図20に示す削除候補がすべて削除対象として確認された場合の例である。図24(A),(B),(C),(D)は、それぞれ図20(G),(E),(I),(J)に対応する内容である。また、図24(E)の「プログラムマネージャのグループ削除」は、図10のステップS2においてグループ全体を削除対象として選択した場合に、そのグループ名が保存されることを意味している。
【0172】
クリーン情報ファイルに含まれる内容は、アプリケーションプログラムの使用環境をアンインストール処理直前の環境に設定するための情報であり、アプリケーションプログラムの再インストールによっては復元されない可能性のある情報である。図24に示す各種の設定内容や登録内容は、アプリケーションプログラムのインストール後にユーザによって変更されている可能性がある。従って、図24に示す内容を保存しておけば、アプリケーションプログラムを再インストールした後に、これらの設定内容を復元することによって、アプリケーションプログラムをアンインストール処理直前の使用環境に復元することができる。
【0173】
なお、アンインストール部236によるステップS6の処理機能は、本発明におけるクリーン情報ファイル作成手段に相当する。
【0174】
図10のステップS7では、削除対象ファイルのバックアップが実行される。この時点では、最終的に削除するファイルや情報が確定している。そこで、ステップS7ではまず、バックアップの条件を設定するためのバックアップダイアログ(バックアップ条件設定ウィンドウ)が表示され、ユーザはここでバックアップ先と、バックアップレベルの入力を行なう。バックアップ先は、バックアップファイルを格納するためのディスクドライブ名である。削除される各ファイルに対するバックアップファイルのデフォールトのファイル名は、元のファイル名とは無関係に「DXmmdd??.ZIP」に設定される。ここで、先頭の2文字「DX」はこのディスク内容整理システムによるバックアップファイルであることを示す接頭詞、次の4文字「mmdd」はファイルを削除する月と日を示す各2字の数字、「??」は同時に削除される複数のファイルに割り当てられる00から始まる通し番号、「ZIP 」はZIP 形式の書庫ファイルであることを示す拡張子である。ユーザは、必要であれば、この名前を変更することも可能である。
【0175】
バックアップダイアログでは、さらに、バックアップのレベルを指定することができる。バックアップレベルとしては、フルバックアップと簡易バックアップがある。
【0176】
フルバックアップでは、削除するファイルおよび修正するファイル(ファイル内の情報を削除・変更するファイル)をすべてバックアップ対象とする。
【0177】
簡易バックアップでは、アプリケーションプログラムを再インストールすれば復元できるファイルについてはバックアップせず、ユーザーが変更したと推定されるファイルのみバックアップを行う。したがって、通常ユーザーが変更しないファイルはバックアップの対象から除外される。この結果、バックアップの対象となるファイルのサイズをかなり小さくすることができる。
【0178】
簡易バックアップにおいて常にバックアップの対象としないファイルは、実行ファイル、ヘルプファイル、DLL ファイル、VBX ファイルである。これらのファイルの内容はユーザが変更できないので、アプリケーションプログラムを再インストールすれば同じファイルを復元できるからである。
【0179】
簡易バックアップにおいて常にバックアップの対象とするファイルは、INI ファイル、および、そのアプリケーションプログラムに関連付けられた拡張子を有するファイルである。INI ファイルの設定内容はユーザによって変更される可能性があり、また、アプリケーションの拡張子を有するファイルは、アプリケーションのインストール後に作成された可能性が高いからである。
【0180】
簡易バックアップにおいてバックアップの対象とすべきか否かが一見して不明なファイルもある。これには、アイコンファイルと、アプリケーションディレクトリ内の残りのファイルが含まれる。これらのファイルについては、次の判定条件に従ってバックアップの対象とするか否かを決定する。
【0181】
[バックアップ要否の判定条件]:アプリケーションのディレクトリの更新日時よりも更新日時が新しいファイルは、バックアップ対象とする。それ以外のファイルは、バックアップ対象としない。
【0182】
アプリケーションのディレクトリの更新日時は、アプリケーションのインストールを行った日時に一致するのが普通なので、上記の判定条件を使用すれば、インストール後に変更されたファイルのみをバックアップの対象とすることができる。
【0183】
なお、削除対象とされたすべてのファイルに関して上記の判定条件を適用することによって、簡易バックアップの対象を決定するようにしてもよい。この方法によっても、実質的に上述の方法と同じ結果が得られる。
【0184】
なお、バックアップ部238によって上述のように簡易バックアップの対象を特定する機能は、本発明における簡易バックアップ特定手段に相当する。
【0185】
バックアップ部238(図9)は、バックアップダイアログにおけるユーザの指定に基づいてバックアップ処理を実行する。具体的には、バックアップの対象となる全ファイルについて、ZIP 形式の書庫ファイルを作成する。なお、バックアップ部238で作成された書庫ファイルの情報は、クリーナ部204からアークファイラ部208(図2)に転送され、アークファイラ部208によってその情報が管理される。
【0186】
図10のステップS8では、アンインストール部236(図9)がアンインストール処理を実行する。すなわち、削除対象として確認されたファイルの削除、および、所定のファイル内の各種の情報の削除や修正等を実行する。
【0187】
ステップS9では、解析部234によって参照リンク240(図9)の更新が実行される。前述した図21に示すように、参照リンク240には、実行ファイルリストと、各実行ファイルから参照されるDLL ファイルおよびVBX ファイルのリストが含まれている。ステップS8におけるアンインストール処理において実行ファイルが削除された場合には、実行ファイルリストからその実行ファイルを削除し、また、その実行ファイルが参照しているファイルの被参照数をそれぞれ1つ減算する。このようにして参照リンク240を更新しておけば、次の実行ファイルをアンインストールする際に、この参照リンク240を使用してDLL ファイルやVBX ファイルの削除の可否を決定することができる。
【0188】
こうして、図10に示すアンインストール処理の工程がすべて終了すると、総計何バイトの領域が開放されたかが画面に表示されて、アプリケーション選択画面(図11)に戻る。
【0189】
ところで、図10のステップS5〜S9の工程は、図22の画面の上方にある3つのチェックボックス「試行」、「確認する」、「バックアップ」のチェック状態によって、以下のように選択的に実行される。
【0190】
チェックボックスの「試行」がチェックされている場合には、ステップS6(クリーン情報ファイルの作成処理)、ステップS7(バックアップ処理)、ステップS8(アンインストール処理)、および、ステップS9(参照リンクの更新)を実行しない。従って、この「試行」のボックスをチェックしておけば、実際にファイルの削除を行なわずに、どのようなファイルの削除や修正(ファイル内の情報の削除に伴う修正)が行なわれるかを知ることができる。
【0191】
一方、「試行」がチェックされていなければ、ステップS6〜S9が実行される。
【0192】
チェックボックスの「バックアップ」がチェックされており、かつ、「試行」がチェックされていなければ、ステップS7のバックアップ処理が実行される。「バックアップ」がチェックされていなければ、ステップS7は実行されない。
【0193】
チェックボックスの「確認する」がチェックされている場合には、ステップS5(確認処理)が実行され、チェックされていなければステップS5が実行されない。
【0194】
このように、この実施例におけるディスク内容整理システムでは、ユーザが、バックアップの要否を指定したり、アンインストールを実際に実行せずに削除されるファイルや情報のリストのみを作成したりすることができるので、ユーザがハードディスク84の内容を容易に整理することができる。
【0195】
I.参照リンクの作成方法:
図25は、解析部234による参照リンク240(図9、図21)の作成手順を示すフローチャートである。参照リンク240は、アンインストール処理のたびに毎回作成する必要はないので、アンインストール処理とは別途作成される。具体的には、ユーザーがメニューから参照リンク240の作成を指示した時に図25の処理が実行され、プログラムマネージャに登録されている全アイコンについて、図13に示すステップS13の参照DLL の解析と同様の処理が行なわれる。なお、以下の説明では、DLL ファイルとVBX ファイルを含める意味で「DLL ファイル」という単語を使用する。
【0196】
図25のステップS60では、プログラムマネージャから次のアイコンを処理対象として取り出す。未処理のアイコンがなくなったら図25の処理を終了する。ステップS61では、処理対象のアイコンのコマンドラインを解析して、そのメインファイルを求める。ステップS61の処理は、図14に示す削除対象メインファイルの解析と実質的に同じ処理である。メインファイルが実行ファイルでない場合にはステップS62からステップS60に戻り、実行ファイルである場合にはステップS63以降の処理が実行される。これは、参照リンク240の作成処理においては、実行ファイルとDLL ファイルの参照関係のみを調べればよいからである。
【0197】
ステップS63では、処理対象の実行ファイルが参照リンク240の実行ファイルリスト(図21)に登録されているか否かを調べる。既に実行ファイルリストに登録されている場合には、ステップS61に戻り、次のアイコンが処理対象として選択される。処理対象の実行ファイルが実行ファイルリストに登録されていない場合には、その実行ファイルを実行ファイルリストに追加する(ステップS64)。
【0198】
ステップS65では、処理対象の実行ファイルを調べて、参照しているDLL ファイルを1つ得る。この処理は、前述した図13のステップS13における解析処理と同様に、実行ファイル内に含まれているインポート名テーブルとリロケーションテーブルを調べることによって行なわれる。ステップS66では、そのDLL ファイルが参照リンク240の被参照ファイルリスト(図21)に登録されているか否かを調べる。そのDLL ファイルが被参照ファイルリストに登録されていなければ、それを登録して(ステップS67)、被参照数を1つ増やす(ステップS68)。一方、そのDLL ファイルが被参照ファイルリストに登録されていれば、その被参照数を1つ増やす(ステップS68)。
【0199】
なお、DLL ファイル自体も他のDLL ファイルを参照することがある。そこで、ステップS69では、ステップS65で得られたDLL ファイルが他のDLL ファイルを参照しているか否かを調べる。参照DLL があれば、ステップS66〜S69が再帰的に繰返される。
【0200】
ステップS70では、処理対象の実行ファイルが参照している次のDLL が存在するか否かを調べ、存在すればステップS66に移行する。ステップS66〜S70を繰り返し実行して、1つの実行ファイルに関する処理が終了すると、ステップS61に戻り、他のアイコンについてステップS61〜S70の処理が繰返される。こうして、プログラムマネージャに登録されているすべてのアイコンについての処理が終了すると、そのリストの内容を参照リンク240に書き出して終了する。
【0201】
このようにして参照リンク240を作成しておけば、実行ファイルの削除に伴ってDLL ファイルやVBX ファイルを削除候補とするか否かを容易に判断することが可能である。
【0202】
J.オペレーティングシステムによる違い:
上記実施例では、Windows3.1システムの下で動作するコンピュータシステムを対象として説明していたが、この発明はWindows 95(マイクロソフト社の商標)等の他のウィンドウズシステムの下で動作するコンピュータシステムにも適用可能である。この発明に関連するWindows3.1システムとWindows 95システムとの違いは、以下の通りである。
【0203】
▲1▼Windows 95では、オペレーティングシステムが各ファイルの最終アクセス日を管理している。従って、上述した履歴データベース226に各ファイルの最終アクセス日を記録しておく必要はなく、オペレーティングシステムから提供される最終アクセス日を利用するようにすることができる。
【0204】
▲2▼Windows3.1における登録データベースREG.DAT は、Windows 95では「レジストリ」と呼ばれるファイルに相当する。Windows 95のレジストリには、さらに、Windows3.1においてWIN.INI やSYSTEM.INIに記述されていたシステム設定に関する内容も格納されている。上記の実施例において、登録データベースREG.DAT に関する処理と、WIN.INI およびSYSTEM.INI内のシステム設定に関する処理は、Windows 95システムの下ではレジストリに対して行なわれる。この明細書における「レジストリファイル」という用語は、Windows3.1における登録データベースREG.DAT とWindows 95におけるレジストリとを含む広義の用語として使用される。
【0205】
レジストリファイルには、WIN.INI に登録されているものと同様な関連付け情報(拡張子と実行ファイルとの関連を示す情報)も登録されている。図26は、レジストリファイルに登録されている関連付け情報を示す説明図である。図26(A)に示すように、レジストリファイル内の関連付け情報には、拡張子とドキュメントタイプの対応関係と、ドキュメントタイプとドキュメント名の対応関係と、ドキュメントタイプとその実行ファイルの対応関係と、が登録されている。この情報によって、拡張子と実行ファイルとが関連付けられる。なお、「"%1"」は、起動時の引数の指定である。関連付け情報で規定されている拡張子を有するデータファイルのファイル名が指定されて起動される時には、図26(A)の「%1」の部分が指定されたファイル名に置き換えられる。図26(B)は、DXUTW.EXE という実行ファイルと、拡張子dxt との関連付け情報の実例である。例えば、"aaa.dxt" というファイルを起動すると、「a:\DISK2\DXUTW.EXE aaa.dxt」というコマンドラインが実行される。
【0206】
このように、レジストリファイル(登録データベースまたはレジストリ)には、関連付け情報が登録されているので、前述した図13のステップS16における関連付け情報の解析は、レジストリファイルに対しても行なわれる。また、図20(I)において、OLE情報の他にレジストリファイル内の関連付け情報も削除候補となる。関連付け情報を実際に削除する場合には、図24(C)において、レジストリファイル内の関連付け情報もクリーーン情報ファイルに含まれることになる。
【0207】
▲3▼Windows 95では、グループがプログラムマネージャではなくスタートメニューに登録される。すなわち、アイコンもスタートメニューに登録される(実際には、ファイルシステム上の特定の領域に書き込まれている)。従って、図20(J)において、スタートメニュー内のアイコンの登録内容が削除候補となる。また、アイコンを実際に削除する場合には、図24(D)において、スタートファイル内のアイコンの登録内容がクリーン情報ファイルに含まれることになる。
【0208】
K.書庫化アンインストール処理:
クリーナ部204には、前述の図9において説明した各機能の他に、アプリケーションを書庫化してから削除を行なう書庫化アンインストール部300としての機能が備えられている。図27は、書庫化アンインストール部300の機能を示す説明図である。書庫化アンインストール部300は、アプリケーションとそれに関連するファイルおよび情報とを解析して削除候補とする機能と、削除候補を圧縮して書庫ファイルを作成するようにアークファイル部208(図2)に指示する機能と、アプリケーションを削除(アンインストール)する機能と、書庫ファイルの解凍に使用する解凍用アイコン310を登録する機能(アイコン変更手段)と、を有している。また、後述するように、書庫ファイルを解凍するようにアークファイル部208に指示する機能も有している。
【0209】
図28は、書庫化アンインストール処理の手順を示すフローチャートである。ステップS101では、書庫化アンインストール処理の対象とするアプリケーションを選択する。これは、前述した図10のステップS1,S2の処理とほぼ同じである。書庫化アンインストール処理を選択するために、前述した図11に示すアプリケーション選択画面に「書庫化アンインストール」のボタンを追加しておくことが好ましい。なお、処理対象としては、1つのアイコンを選択することもでき、あるいはグループ内の複数のアイコンを選択することも可能である。以下では主に1つのアイコンを処理対象として選択した場合について説明する。
【0210】
処理対象となるアイコン(またはグループ)が選択されると、ステップS102において、そのアイコンに登録されているアプリケーションの解析が行なわれる。これは、図10のステップS3〜S6,S9の処理とほぼ同じである。すなわち、ステップS102では、図10のステップS3(解析)、ステップS4(デフォルト削除候補の決定)、ステップS5(ユーザによる削除候補の確認)、ステップS6(クリーン情報ファイルの作成)、および、ステップS9(参照リンクの更新)が行なわれる。なお、図10のステップS7(バックアップの実行)と類似の処理は後述するステップS103で実行され、ステップS8(アンインストールの実行)と類似の処理は後述するステップS106で実行される。
【0211】
ステップS103では、処理対象となるアイコンに関連しているファイルおよび情報の中で、削除候補となっているすべてのファイルおよび情報と、クリーン情報ファイルとを圧縮して書庫ファイルを作成する。すなわち、図20に示す削除候補の内容と、図24に示すクリーン情報とが圧縮される。この際、デフォールト削除候補か否か(これは図10のステップS4で決定される)には関係なく、図10のステップS3の解析の結果として、削除候補とされたすべてのファイルと情報が、1つの書庫ファイルとしてまとめられて圧縮される。換言すれば、ステップS103は、図10のステップS7におけるバックアップ処理を、すべての削除候補およびクリーン情報ファイルに対して行なったことに相当する。なお、圧縮と解凍の実際の処理は、アークファイル部208(図2)が実行する。
【0212】
ステップS103において、カテゴリが「アプリケーションディレクトリ内のファイル」や「拡張子ファイル」であるファイルは、アプリケーションによって作成されたデータ(ドキュメント)であるのが普通である。従って、これらのカテゴリのファイルに関しては、ステップS102で行なわれるユーザによる確認処理(図10のステップS5)において選択されたファイルのみを書庫化するようにしてもよい。
【0213】
また、カテゴリによっては、ユーザが削除候補の選択状態の変更することを禁止するようにしてもよい。例えば、カテゴリ「アイコン」のものを非選択状態にすると、後述ステップS105においてそのアイコンが削除されなくなってしまう。こうなると、元のアイコンと、解凍用アイコンとが並存するという不具合が生じる。このような不具合を防止するためには、カテゴリ「アイコン」のファイルの選択状態をユーザが変更できないようにしておけばよい。
【0214】
なお、1つのグループ全体を処理対象として選択した場合には、そのグループ内のすべてのファイルをデフォールトで選択状態(デフォールトの削除候補)とすることが好ましい。
【0215】
ステップS104では、解凍用アイコンをグループ内に登録する。解凍用アイコン(図27参照)は、元のアイコンの特定の位置(例えば右下)に、解凍用アイコンであることを示す特定のマーク(文字や記号)を付加したものである。また、アイコンの他の部分を元のアイコンの図柄とほぼ同じに保っておく。こうすれば、ユーザが解凍用アイコンを見た時に、どのアプリケーションの解凍用アイコンであるかを、容易に判別できる。
【0216】
なお、ステップS101において、1つのグループ全体が選択された場合には、そのグループ内の全てのアイコンが、解凍するためのアイコンに置き換えられる。
【0217】
解凍用アイコンのコマンドラインには、解凍プログラムの実行ファイルがコマンドラインの実行ファイルとして登録され、その実行ファイルで開かれるドキュメントとして書庫ファイルが登録される。こうすることによって、解凍時に解凍用アイコンをユーザが選択して起動した時に解凍プログラムが起動されて、対応する書庫ファイルを解凍することができる。グループ内のすべてのアイコンが解凍用アイコンに置き換えられている場合には、その内のいずれかが指定されると、グループ全体が解凍されるとともに、指定されたアイコンが起動される。このアイコンの実行中に、同じグループの別のアイコンが起動された場合には、既に解凍済なので、あらためて解凍を行なわずに、そのプログラムの起動のみを実行する。
【0218】
ステップS105では、レジストリファイルに登録されている関連付け情報を変更する。これは次のような理由による。前述したように、削除対象のアプリケーションで作成されたドキュメントファイルは削除候補とならないことがある。すなわち、ドキュメントファイルは、書庫化ファイルに含まれず、また、削除(アンインストール)もされないことがある。従って、ドキュメントファイルを開くようにユーザが指定しても、そのアプリケーション自体が書庫化されている場合には、そのドキュメントファイルを開くことができないことになる。ところで、図26(A),(B)に示したように、レジストリファイルには、ドキュメントファイルの拡張子と、アプリケーションの実行ファイルとの関連付け情報が登録されている。そこで、ステップS105では、ドキュメントファイルの拡張子を、解凍プログラムの実行ファイルと関連付けるように、関連付け情報を変更する。こうすれば、ユーザがドキュメントファイルを開くように指示(ダブルクリック)した際に、対応するアプリケーションプログラムを起動できるようになる。
【0219】
図26(C)は、変更後の関連付け情報を示している。図26(C)の最初の2行は図26(B)と同じであり、図26(C)の最後の2行が図26(B)から書換えられている。但し、図26(C)の最後の2行は、実際には1行で記述されているので、以下ではこれを「3行目」と呼ぶ。図26(C)の3行目の「=」の左辺は図26(B)と同じである。図26(C)の右辺の最初の部分「C:\DXT\DXMELT.EXE 」は解凍プログラムの実行ファイルを示しており、次の部分「/MELT "ARK.ZIP" 」は解凍される書庫ファイルのファイル名を示している。もちろん、このファイル名"ARK.ZIP" としては、書庫ファイル毎に異なる名前が割り当てられる。図26(C)の3行目の最後の部分「/ARC" a:\DISK2\DXUTW.EXE %1"」の""で囲まれた部分は、解凍後にプログラムを起動するためのコマンドラインを示しており、圧縮前の図26(B)の3行目の右辺と同じ内容を示している。このように、圧縮後の関連付け情報には、拡張子「.dx2」と、その拡張子に関連付けられたプログラムの実行ファイルを含む書庫ファイル"ARK.ZIP" と、解凍された実行ファイルを起動するためのコマンドライン"a:\DISK2\DXUTW.EXE %1" とを含んでいる。
【0220】
図26(C)のように関連付け情報が書き換えられている時に、「.dx2」という拡張子を持ったドキュメントファイルを起動することが指定されると、図26(C)の3行目で指定されている書庫ファイル"ARK.ZIP" が解凍され、その後、コマンドライン"a:\DISK2\DXUTW.EXE %1" に従って、関連付けられたプログラムが起動される。このように、図26(C)のように関連付け情報を書き換えるようにしておけば、圧縮されていないドキュメントファイルの起動が指定された時に、その実行ファイルを含む書庫ファイルを解凍して、その書庫ファイル内の実行ファイルを自動的に起動するようにすることができる。従って、ユーザは、プログラムが圧縮されていることを意識せずに、ドキュメントファイルを利用できるという利点がある。
【0221】
なお、上記のように圧縮後の関連付け情報をすべてオペレーティングシステム用のレジストリファイル内に格納する代わりに、その一部を他のファイルに格納するようにすることも可能である。
【0222】
図26(D)は、レジストリファイル内に格納される関連付け情報の他の例を示している。図26(D)の最後の2行(これらも実際は1行なので「3行目」と呼ぶ)では、図26(C)の3行目の右辺における「/MELT "ARK.ZIP" /ARC "a:\DISK2\DXUTW.EXE %1"」が「<##> /ARC 」で置き換えられている。すなわち、図26(D)の例では、書庫ファイルのファイル名を示す文字列「/MELT "ARK.ZIP" 」と、コマンドラインを示す文字列「"a:\DISK2\DXUTW.EXE %1" 」とが省略されている。図26(D)の3行目における文字列「<##>」は、書庫ファイル番号を示している。アークファイル部208は、すべての書庫ファイルを書庫ファイル番号で管理している。また、書庫ファイル番号を含む管理ファイルは、解凍プログラムの実行ファイルDXMELT.EXEを含むディレクトリ(図26(D)の例ではC:\DXT)内に格納されている。従って、図26(D)のように、レジストリファイル内の関連付け情報の中に書庫ファイル番号を記述しておけば、拡張子.dxtを有するドキュメントの起動が指定された時に、図26(D)の関連付け情報に従ってこの書庫ファイル番号を有する書庫ファイルを解凍することができる。書庫ファイル内には、元の関連付け情報(図26(B))が含まれているので、書庫ファイルの解凍後に、この元の関連付け情報に従ってコマンドラインを実行することによって、アプリケーションが起動される。このように、図26(D)の例では、圧縮後の関連付け情報の一部(書庫ファイル番号)をレジストリファイルに格納し、他の一部(アプリケーションの実行ファイルのコマンドライン)を書庫ファイル内に格納し、さらに他の一部(書庫ファイル番号と書庫ファイルとの対応)を解凍プログラムの実行ファイルを含むディレクトリ内の管理ファイルに格納している。このように、レジストリファイルには、圧縮後の関連付け情報の少なくとも一部が含まれていればよい。但し、レジストリファイル内には、拡張子を示す情報と、その拡張子に関連付けられたアプリケーションを含む書庫ファイルを示す情報とを少なくとも含むようにすることが好ましい。
【0223】
圧縮後の関連付け情報の一部(例えばコマンドライン)を、書庫ファイル内のクリーン情報ファイルに格納するようにしてもよい。この場合にも、レジストリファイル内の関連付け情報に、解凍すべき書庫ファイルを示す情報を含める。こうすれば、この情報に従って書庫ファイルを解凍するとともに、その書庫ファイルに含まれているクリーン情報ファイルからコマンドラインを抽出して実行することができる。
【0224】
なお、圧縮後の関連付け情報としては、図26(D)の例のように、書庫ファイル番号<##>のような各種の情報を含めることができる。一般に、圧縮後の関連付け情報は、拡張子を示す情報と、その拡張子に関連付けられたプログラムの実行ファイルを含む書庫ファイルを示す情報と、解凍された実行ファイルを起動するためのコマンドラインを示す情報とを含むように作成すればよい。
【0225】
ステップS106では、選択されたファイルや情報が削除(アンインストール)される。なお、個々のファイルや情報を「項目」と呼ぶこともある。
【0226】
図28のステップS101の処理は、この発明におけるアプリケーション選択手段の機能に相当する。また、ステップS102は検索手段に、ステップS103は書庫化手段に、ステップS104はアイコン変更手段に、また、ステップS106は削除実行手段の機能にそれぞれ相当する。
【0227】
図29は、書庫ファイルの利用手順を示すフローチャートである。ステップS111では、ユーザが解凍用アイコンをダブルクリックして、書庫化されたアプリケーションの解凍を指示する。書庫化アンインストール部300は、これに応じて解凍プログラム(すなわちアークファイル部208)を起動する。ステップS112では、ユーザに解凍の確認をとるための画面が表示される。この理由は、間違って解凍用アイコンを起動した時に解凍処理を中止するためである。解凍を行なうことが確認されると、ステップS113において、アークファイル部208が書庫ファイルを解凍する。この際、解凍処理中であることを示す特別のアイコンが画面に表示されるとともに、解凍処理の進行状況を示すグラフィック表示も表示される。なお、解凍されたアプリケーションはハードディスク84内に格納される。
【0228】
ステップS114では、解凍されたアプリケーションが起動され、ステップS115では、そのアプリケーションが実行される。解凍されたアプリケーションの実行中は、書庫化アンインストール部300がそのままメインメモリ25内に常駐しており、アプリケーションの終了を監視している。この理由は、ユーザが書庫化アンインストール部300の動作を終了させてしまうことを防止して、書庫化アンインストール部300が後述するステップS117〜S119の処理(「後処理」と呼ぶ)を行なえるようにするためである。
【0229】
ステップS116においてアプリケーションが終了したことを検出すると、ステップS117において、アプリケーションを解凍状態で格納しておくか、書庫化した状態に戻すかをユーザに問い合わせる。解凍状態で格納しておく場合には、ステップS118において書庫ファイルと解凍用アイコンを削除して、すべての処理を終了する。この時には、ハードディスク84内に格納された解凍後のアプリケーションとその関連ファイルがそのまま保存される。
【0230】
一方、書庫化した状態に戻す場合には、ステップS119において、書庫ファイルの更新を行なう。この更新処理では、ステップS115におけるアプリケーションの実行中に変更されたファイルや情報のみを再圧縮して、再圧縮された部分が元の書庫ファイルの対応部分と書き換えられる。例えば、アプリケーションの環境設定が変更された場合には、その環境設定が登録されているINI ファイルが再圧縮されて更新される。但し、アプリケーションの実行(ステップS115)において作成されたドキュメントファイルは圧縮の対象から除外するようにしてもよい。解凍されたファイルや情報の種類は、書庫ファイルに含まれているクリーン情報ファイルを参照することによって知ることができる。また、それらが変更されたか否かはそれらの最終更新日を調べることによって知ることができる。従って、クリーン情報ファイルに登録されているファイルや情報の中で、変更されたものだけを再圧縮するようにすることが可能である。書庫ファイルにはクリーン情報ファイルが含まれているので、再圧縮の際にはアプリケーションの解析(図28のステップS102)を行なう必要はない。
【0231】
なお、書庫ファイルには、圧縮されているファイルや情報の位置とサイズとを示す管理データが登録されている。従って、この管理データを参照すれば、書換の対象となっているファイルや情報の圧縮データが、書庫ファイル内のどの位置に存在するかを知ることができる。
【0232】
図29の処理の全体は、この発明における解凍手段の機能に相当する。また、特にステップS119の処理は、書庫ファイル更新手段の機能に相当する。
【0233】
このように、書庫化アンインストール部300は、アプリケーションの解析(ステップS102)によって削除候補とされたファイルおよび情報のすべてと、クリーン情報ファイル(これは削除候補となったファイルおよび情報の削除内容を示す情報である)とを書庫化した後に削除(アンインストール)を行なう。なお、オペレーティングシステムが提供するDLL ファイルは削除候補とはならないので、解析よって削除候補とされたファイルや情報をすべて削除しても、オペレーティングシステムや他のアプリケーションの動作に悪影響を及ぼすことはない。
【0234】
書庫ファイルは、削除候補とされたすべてのファイルと情報を含んでいるので、この書庫ファイルを解凍することによって、そのアプリケーションを確実に起動することができる。また、書庫ファイルを作成した際に、その書庫ファイルを解凍するための解凍用アイコンを登録するようにしたので、ユーザはそのアイコンを利用して、書庫化されているアプリケーションを容易に起動することができる。
【0235】
L.アプリケーションの転送への応用:
上記の書庫ファイルは、コンピュータ間のアプリケーションの転送に利用することが可能である。図30は、書庫ファイルを利用したコンピュータ間のアプリケーションの転送の手順を示すフローチャートである。
【0236】
転送元コンピュータでは、転送するアプリケーションの選択(S121)と、解析(S122)と、削除候補(書庫化候補)の圧縮(S123)とを行なう。これらのステップS121〜S123は、前述した図28のステップS101〜S103と同じである。但し、図30の手順では、ファイルや情報のアンインストールは行なわないので、「削除候補」という呼び方は正確ではなく、むしろ「書庫化候補」と呼ぶべきである。
【0237】
転送先コンピュータでは、ファイル整理プログラム群(図2参照)をインストールし(ステップS131)、書庫化アンインストール部300(図27)を起動する(S132)。そして、フロッピディスクやオンラインで転送された書庫ファイルを指定して解凍を行なう(S133)。
【0238】
書庫ファイルの解凍においては、ドライブとディレクトリの取扱いに注意を要する。すなわち、転送元コンピュータに存在したドライブやディレクトリが、転送先コンピュータには存在しない場合がある。このような場合には、どのドライブのどのディレクトリに解凍ファイルを格納すべきかをユーザに問い合わせ、ユーザの指定に応じて格納するようにすればよい。
【0239】
なお、図30のステップS121の処理は、この発明におけるアプリケーション選択手段の機能に相当する。また、ステップS122は検索手段に、ステップS123は書庫化手段に、ステップS133はアイコン変更手段の機能にそれぞれ相当する。
【0240】
書庫ファイルはデータ量が極めて小さいので、上述の手順によって簡単にアプリケーションを転送することができる。また、書庫ファイルには、転送元コンピュータにおけるアプリケーションの設定も含まれているので、転送先コンピュータにおいて転送元コンピュータと同じ設定状態を復元することができるという利点がある。
【0241】
なお、この発明は上記実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0242】
(1)ユーザがファインダ部202において実行ファイルを削除対象として選択し、その削除を実行する場合には、ファインダ部202からクリーナ部204を呼び出して図10に示すアンインストール処理を実行するようにすることも可能である。例えば、図5に示すファイルの一覧表示から実行ファイルを削除する旨をユーザが入力すると、クリーナ部204が起動して、プログラムマネージャ内に登録されているすべてのアイコンの登録内容を図13のステップS11と同様な手順で解析する。そして、ファインダ部202で選択された実行ファイルが削除対象メインファイルとなるようなアイコンを決定する。その後、そのアイコンと削除対象メインファイルとに関して図10のステップS3〜S9が実行される。
【0243】
このように、ファインダ部202からクリーナ部204が呼び出されるようにすれば、ファインダ部202を用いて不要と判断された実行ファイルの削除に伴って、同時に不要となる種々のファイルや情報を容易に削除することができ、ハードディスクの内容をより効率的に整理することができる。
【0244】
(2)ファイルの削除に使用されるアクセス履歴はすべて履歴記録部212で作成される必要はなく、例えば、オペレーティングシステムで管理されている最終アクセス日時等を利用することも可能である。この場合には、履歴記録部212は、オペレーティングシステムで管理されているアクセス履歴以外の履歴を登録するようにすればよい。
【0245】
(3)クリーナ部204を利用してファイルを削除する場合に、アクセス履歴に基づいて削除候補とするファイルを検索・抽出するようにすることも可能である。また、図10のステップS4において、アクセス履歴に基づいてデフォルト削除候補を決定するようにすることも可能である。例えば、アプリケーションのディレクトリ内のファイルに関してデフォルト削除候補を決定する場合に、アプリケーションをインストールした日時以降にアクセスされていないファイルをアクセス履歴から検索して、そのファイルを削除候補とすることができる。
【図面の簡単な説明】
【図1】この発明の一実施例を適用するコンピュータシステムのハードウェア構成を示すブロック図。
【図2】ハードディスク84内のファイルの整理を行なうプログラム群の機能を示す機能ブロック図。
【図3】ディレクトリ別一覧の画面表示の例を示す説明図。
【図4】拡張子別一覧の画面表示の例を示す説明図。
【図5】アクセス履歴を含むファイル一覧の画面表示の例を示す説明図。
【図6】アクセス履歴における利用度の分類例を示す説明図。
【図7】ファイルの詳細情報の画面表示の例を示す説明図。
【図8】 WIN.INI のファイル内容の一例を示す説明図。
【図9】図9は、クリーナ部204の内部構成を示すブロック図である。
【図10】アンインストール処理の手順を示すフローチャート。
【図11】アプリケーションの選択画面(選択ダイアログ)を示す説明図。
【図12】実施例におけるディレクトリ構造を示す説明図。
【図13】ステップS3の詳細手順を示すフローチャート。
【図14】ステップS11の詳細手順を示すフローチャート。
【図15】コマンドラインの例を示す説明図。
【図16】ステップS13の詳細手順を示すフローチャート。
【図17】インポート名テーブルとリロケーションテーブルの構成を示す説明図。
【図18】 DLL ファイルとVBX ファイルの参照リストの例を示す説明図。
【図19】登録データベース内のOLE 情報の登録内容の例を示す説明図。
【図20】削除候補の内容を示す説明図。
【図21】参照リンク240の登録内容を示す説明図。
【図22】削除候補の解析結果を示す画面の一例を示す説明図。
【図23】削除対象の確認ウィンドウの一例を示す説明図。
【図24】クリーン情報ファイルの内容を示す説明図。
【図25】参照リンク240の作成手順を示すフローチャート。
【図26】レジストリファイルに登録されている関連付け情報を示す説明図。
【図27】書庫化アンインストール部300の機能を示す説明図。
【図28】書庫化アンインストール処理の手順を示すフローチャート。
【図29】書庫ファイルの利用手順を示すフローチャート。
【図30】書庫ファイルを利用したコンピュータ間のアプリケーションの転送の手順を示すフローチャート。
【符号の説明】
10…コンピュータ
20…演算処理部
21…CPU
22…ローカルバス
23…キャッシュメモリ
24…キャッシュコントローラ
25…メインメモリ
30…PCIブリッジ
32…PCIバス
40…コントローラ部
42…ISAバス
44…VGA
46…SCSIコントローラ
48…ISAブリッジ
54…複合I/Oポート
56…サウンドI/O
60…I/O部
62…ISAスロット
68…タイマ
72…キーボード
73…マウス
74…スピーカ
76…CRT
82…フロッピディスク装置
84…ハードディスク
86…パラレルポート
88…プリンタ
90…シリアルポート
92…モデム
96…マイクロフォン
202…ファインダ部
204…クリーナ部
206…リソース監視部
208…アークファイラ部
210…レスキュー部
212…履歴記録部
220…アクセス監視部
222…履歴ログ
224…履歴データベース更新部
226…履歴データベース
230…ユーザインタフェイス部
232…情報取得部
234…解析部
236…アンインストール部
238…バックアップ部
240…参照リンク
300…書庫化アンインストール部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a storage device content organization system and method for organizing files stored in an external storage device provided in a computer system.
[0002]
[Prior art]
As an external storage device of a computer system, various writable storage devices such as a hard disk and a magneto-optical disk are used. In recent years, the capacity of these external storage devices has been increased, and devices having capacities of several hundred megabytes and several gigabytes have become widespread.
[0003]
When a large number of application programs are installed in a computer system or image data or the like is stored, the amount of data stored in the external storage device becomes enormous. Even if the capacity of the external storage device is large, the amount of data to be stored becomes enormous.
[0004]
Conventionally, in such a case, an application program for organizing storage device contents that designates and deletes individual files stored in the external storage device from the external storage device has been used.
[0005]
[Problems to be solved by the invention]
However, for example, when an application program is deleted from the external storage device, there are an extremely large number of files related to the application program. By specifying individual files, the files related to the application program are clearly deleted. It was difficult. In addition, it takes a lot of time and effort to specify and delete individual files, and detailed knowledge about each file is also required. Therefore, conventionally, it has been difficult to efficiently increase the free capacity of the external storage device by deleting files.
[0006]
The present invention has been made to solve the above-described problems in the prior art, so that a file to be deleted can be easily selected, and the free capacity of the external storage device can be easily increased by deleting the file. The purpose is to.
[0007]
[Means for solving the problems and their functions and effects]
In order to solve the above-mentioned problem, a first invention is a storage device content organization system for organizing files stored in an external storage device provided in a computer system,
Classification information selection means for selecting classification information for classifying files stored in the external storage device from among a plurality of classification information candidates;
Classifying means for classifying the files stored in the external storage device into a plurality of file groups according to the classification information, and displaying the total data amount of each file group on a display device;
File group selection means for selecting one of the displayed plurality of file groups;
Delete execution means for deleting a file belonging to the file group selected by the selection means from the external storage device;
It is characterized by providing.
[0008]
When the user selects classification information, the classification means classifies the files stored in the external storage device into a plurality of file groups according to the classification information. When the user selects one of the plurality of classified file groups, the deletion execution unit deletes the files belonging to the selected file group. Therefore, the specified specific file group can be easily deleted by a simple operation, and the free capacity of the external storage device can be increased.
[0009]
In the first invention, it is preferable that the classification information includes information indicating that the file is classified according to the extension of the file.
[0010]
In this way, a file group having a specific extension can be selected and deleted.
[0011]
The classification information includes information for classifying files in directory units,
The deletion execution unit preferably includes a unit that deletes the directory selected by the selection unit and a file included in the directory.
[0012]
This allows you to select and delete files contained in a specific directory.
[0013]
The first invention further includes history recording means for recording an access history including the number of accesses to each file in the external storage device and the access date and time,
The classification information preferably includes information indicating a classification condition related to an access history recorded by the history recording unit.
[0014]
In this way, it is possible to select and delete a file group that satisfies a specific access history condition.
[0015]
The first invention further includes:
When the file group selected by the file group selection means includes an executable file of an application program, other files that are used in executing the executable file and are not used for executing other executable files are It is preferable to include search means for searching from the inside of the external storage device and displaying the searched file as a deletion candidate.
[0016]
In this way, files that may be used only when executing the executable file are displayed as deletion candidates, so that the user can confirm this and delete unnecessary files.
[0017]
The search means includes
In the case where the file group selected by the file group selecting means includes an execution file of an application program, it is preferable that the OLE information included in the registry file for the execution file is a deletion candidate.
[0018]
In this way, unnecessary information in the predetermined file can be deleted.
[0019]
In addition, the deletion candidate information includes association information in the WIN.INI file and / or registry file, application section in the WIN.INI file, OLE information in the registry file, and icon registration information. It is preferable to include.
[0020]
Furthermore, it is preferable to provide a means for creating a clean information file including information that is a candidate for deletion.
[0021]
In this way, after deleting information that is a candidate for deletion, the information can be restored using the clean information file.
[0022]
In addition, the first invention described above,
Display target file selection means for selecting one of the deletion candidate files as a content display target file;
When the content display target file is a data file created by an application program, it is preferable to include file content display means for displaying the content of the data file on the display device.
[0023]
In this way, the user can confirm the contents of the data file and determine whether to delete the file.
[0024]
The first invention further includes:
A deletion target selection means for selecting a deletion target from deletion candidates searched by the search means;
When the file group selected by the file group selection means includes an execution file of an application program, the file that is not restored by reinstalling the application program in the computer system among the files selected as the deletion target Simple backup file identification means to select only as a simple backup target file,
It is preferable to include backup execution means for backing up the simple backup target file as a compressed data file.
[0025]
In this way, the capacity of the backup file necessary for restoring the application program can be reduced.
[0026]
Further, it is preferable that the simple backup target file includes an environment setting file for saving an environment setting set by a user regarding the application program and a data file created by the application program.
[0027]
Since these files may be created or changed by the user after the application program is installed, if the files are backed up, the files related to the application program can be restored to the state before the deletion.
[0028]
Further, it is preferable that the simple backup target file includes a file created or updated after the installation time of the application program.
[0029]
Since such files are created or changed by the user after the installation of the application program, the files related to the application program can be restored to the state before deletion by backing them up.
[0030]
A second invention is a storage device content organization system for organizing files stored in an external storage device provided in a computer system,
Icon selection means for selecting one of the icons for executing the file stored in the external storage device on the screen of the display device;
The command line registered corresponding to the icon selected by the icon selection means is analyzed to check whether or not the command line includes a character string indicating a file other than the execution file of the application program. When a character string indicating a file other than the execution file is included, the file other than the execution file is specified as a main file to be deleted. A deletion target main file specifying means for specifying an executable file as a deletion main file;
When the main file to be deleted is an executable file of an application program, another file that is used in executing the executable file and that is not used to execute another executable file is stored in the external storage device. A search means for searching and displaying the searched files as deletion candidates;
A deletion target selection means for selecting a deletion target from deletion candidates searched by the search means;
When the deletion target main file is an execution file of an application program, it is easy to select only files that are not restored by reinstalling the application program in the computer system among the files selected as the deletion target. Simple backup file identification means to identify as a backup target file,
Backup execution means for backing up the simple backup target file as a compressed data file;
Delete execution means for deleting the main file to be deleted from the external storage device;
It is characterized by providing.
[0031]
The deletion target main file specifying unit specifies a substantive file registered as an icon as a deletion target main file, so that the deletion execution unit can delete the file.
[0032]
A third invention is a storage device content organization system for organizing files stored in an external storage device provided in a computer system,
Deletion target main file specifying means for specifying one file stored in the external storage device as a deletion target main file;
When the deletion target main file is an execution file of an application program, other files that are used in the execution of the deletion target main file and are not used to execute other execution files are stored in the external storage device. Search means for searching from inside and displaying the searched file as a deletion candidate on the display device,
A deletion target selection means for selecting a deletion target from the deletion candidates;
In the case where the main file to be deleted includes an execution file of an application program, it is easy to select only files that are not restored by reinstalling the application program in the computer system among the files selected as the deletion target. Simple backup file identification means to identify as a backup target file,
Backup execution means for backing up the simple backup target file as a compressed data file;
A deletion execution unit that deletes the deletion target main file and the deletion target selected by the deletion target selection unit from the external storage device;
It is characterized by providing.
[0033]
Since the simple backup file specifying means reduces the number of backup files necessary for restoring the application program, the capacity of the backup file can be reduced.
[0034]
A fourth invention is a storage device content organization system for organizing files stored in an external storage device provided in a computer system,
File list display means for displaying a list of a plurality of files stored in the external storage device on a display device;
File selection means for selecting one of the files displayed in the list;
File content display means for displaying the content of the data file on the display device when the selected file is a data file created by an application program;
A deletion target selection means for selecting a file to be deleted from a plurality of files displayed in the file list;
A deletion execution unit that deletes the file selected by the target identification unit from the external storage device;
It is characterized by providing.
[0035]
The user can confirm the contents of the data file displayed by the file content display means and determine whether or not to delete the file.
[0036]
A fifth invention is a storage device content organization method for organizing files stored in an external storage device provided in a computer system,
(A) the computer system receiving that a user has selected classification information for classifying a file stored in the external storage device from among a plurality of classification information candidates;
(B) the computer system classifying the files stored in the external storage device into a plurality of file groups according to the classification information, and displaying the total amount of data of each file group on a display device;
(C) the computer system receiving that the user has selected one of the displayed plurality of file groups;
(D) the computer system deleting a file belonging to the selected file group from the external storage device;
It is characterized by providing.
[0037]
A sixth invention is a storage device content organization method for organizing files stored in an external storage device provided in a computer system,
(A) receiving the fact that the user has selected one of the icons for executing the file stored in the external storage device on the screen of the display device by the computer system;
(B) The computer system analyzes a command line registered corresponding to the selected icon to check whether the command line includes a character string indicating a file other than the execution file of the application program. When a character string indicating a file other than an executable file is included, the file other than the executable file is specified as a main file to be deleted, and the command line does not include a character string indicating a file other than the executable file. Specifying the executable file as a main file to be deleted;
(C) In the case where the main file to be deleted is an execution file of an application program, the computer system uses another file that is used when the execution file is executed and is not used for execution of another execution file. Searching from the inside of the external storage device, and displaying the searched file as a deletion candidate,
(D) the computer system receiving that the user has selected a deletion target from deletion candidates searched by the search;
(E) If the main file to be deleted is an execution file of an application program, the computer system restores the computer program by reinstalling the application program in the file selected as the deletion target. Selecting only the files that are not selected and specifying them as simple backup target files,
(F) the computer system backing up the simple backup target file as a compressed data file;
(G) the computer system deleting the main file to be deleted from the external storage device;
It is characterized by providing.
[0038]
A seventh invention is a storage device content organizing method for organizing files stored in an external storage device provided in a computer system,
(A) receiving the fact that the computer system has specified one file stored in the external storage device as a main file to be deleted;
(B) When the deletion target main file is an execution file of an application program, the computer system is used in conjunction with execution of the deletion target main file and is not used for execution of other execution files. Searching from the inside of the external storage device and displaying the searched file as a deletion candidate on a display device;
(D) the computer system receiving that a user has selected a deletion target from among the deletion candidates;
(E) If the main file to be deleted includes an execution file of an application program, the computer system restores the computer program by reinstalling the application program in the file selected as the deletion target. Selecting only the files that are not selected and specifying them as simple backup target files,
(F) the computer system backing up the simple backup target file as a compressed data file;
(G) the computer system deleting the deletion target main file and the deletion target selected in the step (d) from the external storage device;
It is characterized by providing.
[0039]
An eighth invention is a storage device content organization method for organizing files stored in an external storage device provided in a computer system,
(A) displaying a list of a plurality of files stored in the external storage device on a display device;
(B) selecting one of the files displayed in the list;
(C) when the selected file is a data file created by an application program, displaying the contents of the data file on the display device;
(D) selecting a file to be deleted from a plurality of files displayed in the file list;
(E) deleting the selected file from the external storage device;
It is characterized by providing.
[0040]
A ninth invention is a storage device content organization system for organizing files stored in an external storage device provided in a computer system,
An application selection means for selecting an application program to be processed;
Other files that are used in the execution of the execution file of the application program and that are not used for the execution of other execution files are searched from the inside of the external storage device, and the searched files are set as deletion candidates. , A search means for setting the OLE information included in the registry file for the execution file as a deletion candidate,
Archive means for compressing the deletion candidates and creating an archive file;
Deletion execution means for deleting the deletion candidate from the external storage device;
It is characterized by providing.
[0041]
Since the archiving means archives the files and information that are determined as candidates for deletion by the search means, it is possible to restore the deleted files and information as they were by decompressing the archive file.
[0042]
The ninth invention further includes:
It is preferable that a means for creating a clean information file including information that is a candidate for deletion is provided, and that the archive means is provided with a means for creating the archive file so as to include the clean information file.
[0043]
In this way, when the archive file is decompressed, the original file and information can be easily restored using the clean information file.
[0044]
The ninth invention further includes
It is preferable to provide icon changing means for replacing an icon corresponding to the application program with an icon for decompression used when decompressing the archive file.
[0045]
In this way, the user can easily designate the decompression of the archive file by designating the decompression icon.
[0046]
The ninth invention further includes:
When the archive file is instructed to be decompressed, the archive file is decompressed and the file and / or information contained in the archive file is restored, thereby allowing the application program to be deleted before the deletion candidate is deleted. It is preferable to provide a thawing means for restoring the state.
[0047]
By doing so, the application program is restored to the original state, so that the user can use the application with little awareness of being decompressed.
[0048]
The thawing means of the ninth invention comprises:
Archive file update means for updating the archive file by compressing again the files and information of the deletion candidates that have been changed during the execution of the application program when the decompressed application program finishes executing It is preferable to provide.
[0049]
In this way, the contents of the archive file can be updated to the latest state of the application program.
[0050]
The ninth invention further includes: first information indicating an archive file including an application program to be archived; second information indicating an extension of a document file created by the application; and the archive file is decompressed. Means for creating association information including third information indicating a command line for starting the execution file of the application program after being executed,
The thawing means is
Preferably, it is provided with means for decompressing the archive file including the application program and starting the decompressed executable file according to the association information when activation of the document file having the extension is designated.
[0051]
In this way, the user can use the document file without being aware that the program is compressed.
[0052]
At least a part of the association information may be stored in a registry file for the operating system. Of course, all of the association information may be stored in the registry file. Further, at least the first and second information may be stored in the registry file. Furthermore, a part of the association information may be stored in an archive file including the application program.
[0054]
According to this method, an application program can be easily transferred between two computers in the form of an archive file. In this case, the state of the application in the transfer destination computer can be made the same as that in the transfer source computer.
[0055]
In the tenth aspect, the archive file includes setting information indicating a setting state of the application,
The step (e)
It is preferable to include a step of restoring the setting state of the application program to the state before compression of the archive candidate according to the setting information.
[0056]
In this way, even when an application program is transferred between two computers, the setting state can be made the same.
[0057]
First10 The invention is a storage device content organization method for organizing files stored in an external storage device provided in a computer system,
(A) the computer system receiving that the user has selected an application program to be processed;
(B) The computer system is searched by searching the external storage device for other files that are used when executing the executable file of the application program and are not used for executing the other executable file. A deletion candidate and the OLE information included in the registry file for the executable file as a deletion candidate;
(C) the computer system compressing the deletion candidate to create an archive file;
(D) the computer system deleting the deletion candidate from the external storage device;
With
In the step (c), among the DLL files used for executing the execution file of the application program, the DLL file used for executing another execution file is also compressed together with the deletion candidate, and the archive is stored. It is characterized by creating a file.
[0059]
Other aspects of the invention
The present invention includes other aspects as follows. A first aspect is a storage medium (particularly a portable storage medium) that stores a software program that is executed by a microprocessor of a computer system and implements various means and processes of each of the inventions described above.
[0060]
A second aspect is a program supply apparatus that supplies a software program that implements various means and processes of the above-described inventions through a communication line when executed by a microprocessor of a computer system.
[0061]
DETAILED DESCRIPTION OF THE INVENTION
A. Device configuration:
Next, embodiments of the present invention will be described based on examples. FIG. 1 is a block diagram showing a hardware configuration of a computer system to which one embodiment of the present invention is applied. The
[0062]
The
[0063]
The
[0064]
The
[0065]
The composite I / O port 54 is provided with a port for inputting and outputting signals for controlling the
[0066]
In the following, a case where files in the
[0067]
FIG. 2 is a functional block diagram showing the overall functions of a program group that organizes files in the
[0068]
The program group related to the organization of the disc contents includes a
[0069]
The history recording unit 212 includes an
[0070]
In the following, first, the outline of the function of each unit in FIG. In this embodiment, a case where an MS-Windows system (trademark of Microsoft Corporation) is used as an operating system will be described.
[0071]
B. Overview of functions of the finder unit 202:
The
[0072]
(1) List by drive:
This function displays a list of the drive name (A, B, C, etc.), volume name, full capacity, used capacity, free capacity, usage rate (= used capacity / full capacity), etc. of each disk drive in the computer system. . The user can determine which disk drive file should be organized by this list display.
[0073]
(2) Directory listing:
This function is a function for displaying a list of how much each directory occupies the
[0074]
(3) List by extension:
This function is a function for displaying a list of how many files of each extension occupy the
[0075]
As described above, the
[0076]
(4) File list including access history:
FIG. 5 is a diagram illustrating an example of a screen display of a file list including an access history. The access history of each file is recorded in the
[0077]
By the way, when a file that is not often used in the file list display as shown in FIG. 5 is found, there is a case where it is desired to check the contents of the file and determine whether or not to delete it. In this case, when the “details” button at the top of FIG. 5 is pressed with the
[0078]
In order to display the contents of the file on which the detailed information is displayed, the “display” button at the right end of the screen of FIG. In this way, the contents of the file can be displayed on the screen. For example, if the file is a data file created by an application program such as a word processor, graphics, spreadsheet program, etc., the contents (document, image, spreadsheet, etc.) can be saved without starting up the application program. Displayed on the screen. This display function can be realized by using a program that develops file contents on a screen. This program stores the file structure of the data file of each application program, and expands the file contents on the screen according to the file structure. Since the
[0079]
In FIG. 5, the function of displaying a list of files corresponds to the file list display means in the present invention, and the function of selecting a file to be displayed in detail using the
[0080]
(5) Calendar display:
In the calendar display, a screen similar to the calendar is displayed, and the name of the file accessed on that individual day is shown. If this function is used, files can be searched from the access date and time.
[0081]
C. Outline of functions of the cleaner unit 204:
As will be described below, the
[0082]
(1) Application uninstall function:
The application uninstall function refers to a function for deleting various files and information for executing an application from the
[0083]
(2) INI file clean function:
The INI file clean function deletes unnecessary INI files and deletes unnecessary descriptions in the WIN.INI file, which is an INI file on the Windows system. An INI file is a setting file for saving various environment settings. INI files related to Windows systems include WIN.INI, which stores settings related to the Windows system in general, and SYSTEM.INI, which stores settings related to device drivers. Each application often has its own INI file.
[0084]
FIG. 8 is an explanatory diagram showing an example of the file contents of WIN.INI. In general, the INI file is a text file, and is divided into sections surrounded by parentheses [] as shown in FIG. Each section also includes various descriptions expressed by a combination of a key placed before the equal sign “=” and a value placed after the equal sign. The Windows section contains settings related to Windows systems in general. For example, the key “run” is a key for setting an application program to be started when the Windows system is started. Settings such as the screen background pattern and wallpaper are registered in the Desktop section. In the Extensions section, associations between application program execution files and extensions are registered. For example, the extension “cal” is associated with an executable file called calendar.exe.
[0085]
When an application program is installed, the association description for that application program is usually added to the Extensions section in WIN.INI. In the example of FIG. 8, the association between the extension “dxt” of the application program “Disk 2.0” and its execution file DXUTW.EXE is added. Also, when installing an application program, a section dedicated to that application is often added to WIN.INI. In the example of FIG. 8, a section [DXUTW] is added. The section name dedicated to the application program is usually set to the name of the executable file minus the extension.
[0086]
When the INI file clean function of the
[0087]
(3) Duplicate file clean function:
The duplicate file clean function is a function for displaying files of the same name stored in different directories. The user can select and delete unnecessary files from the displayed files. In addition, by using the detailed information display or the file content display function as shown in FIG. 7, it is possible to determine whether or not to delete the file after confirming the access history and content of the file. Is possible.
[0088]
(4) Orphan file clean function:
The orphan file clean function is a function for deleting files that are not referenced. When this function is started, a list of DLL files that are not referenced from the executable file (described later), group files that are not referenced from the program manager, and INI files of the application that remain after the application is uninstalled is displayed. . The user designates an unnecessary file from the list display of such files and executes deletion.
[0089]
A DLL file is a library called a dynamic link library that is dynamically linked to an execution file of an application program in a Windows system. In the conventional application, the library portion is a static link, and the library is embedded in a part of the program when the application program is created. On the other hand, in the DLL file, when an application program is created, only the library file name and the function name to be called are written in the program, and the library part is provided as a separate file. And the executable file of the application is combined with the DLL file for the first time at the time of execution. In the case of a Windows system, the system call itself for using various functions of the operating system is the DLL file, so all application programs use the DLL file directly or indirectly. It will be. When installing an application, these DLL files are often copied to the application's own directory. However, if you share a DLL file with other programs, you may copy the DLL file to a directory on the Windows system. In such a case, it is not clear which application refers to which DLL file, so it is necessary to check the reference relationship between the executable file and the DLL file by some method. The DLL file reference relationship can be checked by using the reference DLL analysis function described later.
[0090]
(5) Windows system unnecessary file clean function:
This function is used to display files in standard mode and Windows system files such as utility programs that are not used by category and delete unnecessary files. Categories include display drivers, printer drivers, fonts, IME (Japanese input program), and the like. The user designates an unnecessary file from the list display of files by category and executes deletion.
[0091]
(6) Unnecessary file clean function of DOS system:
This function is used to delete unnecessary files in MS-DOS (trademark of Microsoft Corporation) files. If you are mainly using Windows system, you can delete unused system files such as MS-DOS shell. When this function is activated, a list of file names and their outlines is displayed. The user designates unnecessary files and deletes them.
[0092]
(7) Other unnecessary file clean functions:
Other things that are considered unnecessary are as follows.
(1) An empty directory.
(2) Backup file (extension is bak, $? $, JA $, etc.). “?” Is a wild card indicating an arbitrary character.
(3) A file whose size is 0.
(4) Temporary file (extension is tmp, etc.).
(5) Files after disk repair (file names are file ???? ._ dd, file ????. Chk, etc.)
[0093]
When the clean function of other unnecessary files is activated from the
[0094]
D. Summary of functions of the resource monitoring unit 206:
The
[0095]
E. Outline of functions of the arc filer unit 208:
The
[0096]
F. Overview of the function of the rescue unit 210:
The
[0097]
G. Summary of functions of the history recording unit 212:
The history recording unit 212 has a function of detecting an access when a file stored in the
[0098]
The user can request a file access history from the window of the
[0099]
H. Details of
FIG. 9 is a block diagram showing an internal configuration of the
[0100]
FIG. 10 is a flowchart showing a procedure of an application program uninstall process performed using the
[0101]
At the right end of the selection dialog, there are check boxes (labeled “trial”, “backup”, and “confirm”) that specify the execution method during uninstallation, and the group selected in the list display on the left. The registered contents of the icon (inverted display) and a button for executing the command are displayed.
[0102]
As shown in FIG. 11, the registered content of the icon includes a title, a command line, a directory at the time of execution, and the file name of the icon. Generally, when a Windows application is installed, a group of the application is created in the program manager, and an icon for starting the application is registered therein. This icon registration includes the above four contents. “Title” is the name of the application. A “command line” is a command for starting an application. The command line includes the file name of the executable file, but may include other file names and parameters as necessary. An example of the command line will be described later. “Execution directory” is an initial directory when an application is executed. The program manager starts after setting the current directory to this directory before starting the application. Therefore, a file read by the application or a file created by the application is designated as a file in this directory. In “Icon”, the file name of the icon and the order of the icons therein are stored.
[0103]
In step S2 of FIG. 10, when the user selects the “Uninstall” or “Analysis” button in the selection dialog, analysis of the application registered in the group or icon selected by the cursor position is executed in step S3. The Hereinafter, a case where one icon is selected as an analysis target will be described. If a group is selected, processing is performed for all icons in the group.
[0104]
Note that the selection dialog box and the
[0105]
FIG. 12 is an explanatory diagram showing a directory structure in the embodiment. Items enclosed in <> indicate directory names, and those not enclosed indicate file names. In this example, the disk drive “A: \” has two directories <DISK2> and <Windows>, and a subdirectory <SYSTEM> is provided in the directory <Windows>. In the following description, the case where the application program stored in this directory <DISK2> is uninstalled will be mainly described.
[0106]
FIG. 13 is a flowchart showing the detailed procedure of step S3. In step S11, the main file to be deleted is analyzed from the registered contents of the icon. Here, the command line (FIG. 11) registered in the icon is examined.
[0107]
FIG. 14 is a flowchart showing the detailed procedure of step S11. FIG. 15 is an explanatory diagram showing an example of a command line.
[0108]
The command line registered in the icon is a command (command) that is executed when the icon is clicked with the mouse. The command line is usually in one of two forms:
[0109]
(1) <Executable file>
(2) <Executable file> + <Data file>
[0110]
As described in (1) above, when only one executable file is described on the command line, the application program itself of the executable file is the target of registration of the icon. Further, as described in (2) above, when a data file is described in addition to the execution file, the data file is often the object of icon registration rather than the execution file application. For example, this corresponds to the case where the database of the database program is registered as an icon. In this case, it is desirable to prioritize the data file for deletion. In the case of (2), since the execution file may be a standard execution file of the Windows system, it is often impossible to delete the execution file. Further, as shown in the example of FIG. 15, the command line may include parameters indicating execution conditions in addition to the execution file (EXE file) and the data file.
[0111]
As described above, since the command line includes various character strings in addition to the character string indicating the execution file, the command line is analyzed according to the procedure shown in FIG. Is identified as the main file to be deleted. Such an analysis function by the
[0112]
In step S31 of FIG. 14, it is determined whether or not the command line includes a plurality of character strings. If the command line contains only one character string, that character string is usually the name of the executable file. In this case, in step S32, it is determined whether or not the character string file actually exists. When determining whether or not the file indicated by the character string actually exists, the file is searched in consideration of the path search order determined by the Windows system.
[0113]
The path search order of the Windows system means that when a program is executed on a Windows system, if the file name of the executable file is not specified as a full path (a complete path including the disk drive name to the directory), the execution is executed. Says the order in which to search for files. Specifically, the path is searched in the following order.
[0114]
(1) Current directory.
(2) Windows directory (<Windows> in FIG. 12).
(3) Windows system directory (<SYSTEM> in FIG. 12).
(4) A directory containing an execution file executing the current task (in the embodiment, a directory containing a disk organizing program).
(5) Directories listed in the PATH environment variable.
(6) A directory assigned to the network.
[0115]
If the file of the character string actually exists, the file is specified as a main file to be deleted (step S34), and if it does not exist, it is determined that there is no main file to be deleted (step S33).
[0116]
On the other hand, when the command line includes a plurality of character strings, the processing after step S41 is executed. In step S41, it is first determined whether or not the file actually exists for the first character string. In this case, the search is performed in the path search order of the Windows system. If the file indicated by the character string actually exists, it is determined in step S42 whether or not the file is an executable file. If it is not an executable file, the file is specified as a main file to be deleted (step S44). On the other hand, if the file is an execution file, there is a possibility that other files may be the registration target of the icon, so whether or not there is a next character string is checked in step S43. If there is a next character string, step S41 and step S42 are executed again. In this way, by repeating steps S41 to S43, an actual file is searched for in the plurality of character strings instead of an executable file. If there is an actual file instead of an executable file, the file is set as a main file to be deleted (step S44). On the other hand, if there is no actual file other than the executable file, the first executable file on the command line is set as the main file to be deleted (step S45).
[0117]
When it is determined whether or not the file indicated by each character string exists, it is determined that a character string beginning with “/” (slash) or “−” (minus) does not exist, and the file search is performed. Skipped. This is because character strings beginning with “/” or “−” are parameters at the time of execution.
[0118]
According to the procedure of FIG. 14, when the command line includes only one character string indicating an execution file, the execution file is specified as a main file to be deleted. On the other hand, if the command line includes a character string other than the executable file, as in the example of the three command lines shown in FIG. 15, if there is a character string indicating an actual file, not an executable file. The actual file is specified as the main file to be deleted.
[0119]
In the example shown in FIG. 15A, the command line includes two character strings, and the executable file indicated by the first character string actually exists. At this time, if the file indicated by the second character string exists, that file becomes the main file to be deleted, and if it does not exist, the execution file indicated by the first character string is specified as the main file to be deleted.
[0120]
In the example shown in FIG. 15B, the command line includes five character strings, and the execution file indicated by the first character string actually exists. The second and third character strings start with “/” (slash) and are determined to be nonexistent because they are parameters at the time of execution. Accordingly, the main file to be deleted is specified as shown in FIG. 15B depending on whether or not the files indicated by the remaining fourth and fifth character strings actually exist.
[0121]
In the example shown in FIG. 15C, the command line includes four character strings, and the executable file indicated by the first character string actually exists. Since the second character string indicates a directory, the file does not exist. Since the third and fourth character strings also indicate parameters, the file does not exist. In this case, the executable file indicated by the first character string is specified as the main file to be deleted.
[0122]
In the procedure of FIG. 14, the character string is examined from the left end of the command line. However, the character string may be examined from the right end of the command line. Further, it is not necessary to limit the number of deletion target main files to one, and a plurality of deletion target main files may be specified from the command line. For example, all files included in the command line may be set as main files to be deleted.
[0123]
When the deletion target main file is specified in this way, it is determined in step S12 of FIG. 13 whether or not the deletion target main file is an execution file. If it is an executable file, the analysis of steps S13 to S19 is executed. If it is not an executable file, these steps are omitted and the process proceeds to step S20.
[0124]
The functions of various analysis processes in steps S12 to S22 correspond to search means in the present invention.
[0125]
In step S13, the reference DLL file and the reference VBX file are analyzed. Here, the “VBX file” is a custom control (a program that can be used as a part for creating a program such as a list box or a button) for Visual Basic (a trademark of Microsoft Corporation). The entity part is a DLL called by an API function (APplication Interface function) for communicating with the Visual Basic itself. Generally, VBX is declared to be used in a Visual Basic program, and reference information is written in an executable file created in Visual Basic. However, this format is written in a format different from the DLL reference from the executable file. Therefore, the VBX reference relationship by the application program is investigated separately from the DLL.
[0126]
FIG. 16 is a flowchart showing the detailed procedure of step S13. In steps S51 to S53, the import name table and the relocation table included in the execution file are checked to determine whether the DLL or VBX is being referenced.
[0127]
FIG. 17 is an explanatory diagram showing the configuration of the import name table and the relocation table. Executable files and DLL files include various blocks such as an MS-DOS header, an information block, a segment table, a module reference table, an import name table, a code segment, and a relocation table. In the information block, information indicating the position of each block is registered.
[0128]
In the import name table, names such as DLL names and function names are registered with variable lengths, and the lengths of the names are registered. In the module reference table, the offset from the start address of the import name table is registered for each DLL and each function. This is because the names in the import name table are variable length.
[0129]
The relocation table is provided after the code segment. In the relocation table, the number of items, the address, the relocation type, the reference position in the code segment, the index of the module reference table, and the offset of the import name table or the number of functions in the DLL are registered. The address type and relocation type are information indicating how an executable file refers to a DLL or function. The reference position in the code segment indicates the position where the DLL or function is referenced in the code segment. The index of the module reference table indicates what number of information of the DLL or function is registered in the module reference table. The offset of the import name table is the same information as that registered in the module reference table. This is used when referring to the import name table directly without using the module reference table. The order number of functions in the DLL is a number indicating the number of the function to be used when using one of a plurality of functions included in the DLL.
[0130]
When checking the reference DLL, the offset position registered in the module reference table is checked from the index of the module reference table registered in the relocation table. Then, by reading the name registered at the offset position from the import name table, the referenced DLL or function can be checked.
[0131]
In step S51 of FIG. 16, the import name table is examined by the above-described method, and the DLL file name contained therein is added to the reference DLL list in the
[0132]
In step S53, it is checked whether an API function called LoadLibrary () is used in the relocation table. On Windows systems, you can use LoadLibrary () to dynamically specify a DLL at runtime and call its internal functions. Therefore, if this LoadLibrary () is included in the relocation table, the execution file is analyzed in step S54.
[0133]
In step S54, the inside of the execution file is analyzed to search for character strings “.DLL” and “.VBX”. If these strings are included, check whether the DLL file or VBX file actually exists, and add it to the list of the reference DLL and reference VBX. When checking for the presence of a reference DLL or VBX, the file with that file name is searched in the path search order described above. For this reason, even if DLLs with the same name exist in different directories, they are distinguished from each other.
[0134]
By the way, the DLL file or VBX file itself may refer to another DLL. Therefore, in step S55, the same processing as in steps S51 to S54 is performed for each of the reference DLL and the reference VBX, and the DLL and VBX included in the reference DLL and the reference VBX are added to the reference list. This process is executed until there are no unchecked DLLs or VBXs.
[0135]
The reference DLL includes DLL files provided by the Windows system (GDI.EXE, COMMDLG.DLL, etc.). Since these DLL files must not be deleted, the
[0136]
Here, an example in which the reference DLL and the reference VBX are analyzed will be described with respect to the directory structure shown in FIG. Assume that the main file to be deleted is the executable file “DXUTW.EXE” contained in the directory <DISK2>. First, when the import name table of the executable file DXUTW.EXE is examined in step S51, it is found that VBRJP200.DLL is included, so this is added to the reference DLL list. Since VBRJP200.DLL is a Visual Basic DLL, the internal analysis of the executable file DXUTW.EXE is performed in step S54. Here, it is assumed that the character strings of DXUTW.DLL, MSGBLAST.VBX, SPIN.VBX, and THREED.VBX are found in the executable file DXUTW.EXE. Since these character string files exist when they are searched in the above-described path search order, they are added to the reference list. The reference list at this point is shown in FIG.
[0137]
With the above processing, the DLL and VBX directly referenced by the executable file DXUTW.EXE were found. Next, in step S54, for each reference file found, the DLL and VBX that are further referred to are searched. The VBRJP200.DLL import name table contains DLLs such as KERNEL, GDI, USER, KEYBOARD, and WIN87EM, but these are DLL files provided by the Windows system and are not added to the reference list. Also, if you examine the relocation table of VBRJP200.DLL, you can see that LoadLibrary () is used, so if you do an internal search for VBRJP200.DLL, you will find VBRJP200.DLL. However, since it is itself, it is not added to the reference list. In this way, the reference DLL and the reference VBX are examined for each file shown in FIG. As a result, the reference list of the DLL and VBX referred to by the execution file DXUTW.EXE is finally the same as the list shown in FIG.
[0138]
When the analysis of the reference DLL and the reference VBX is thus completed, the INI file is analyzed in step S14 of FIG. An application-specific INI file is usually created in the Windows directory or in the same directory as the application executable file with the same name as the application executable file name. For example, if the execution file name is “APP1.EXE”, an INI file “APP1.INI” is usually created. Therefore, in step S14, a file having a name obtained by changing the extension portion of the file name of the execution file to “INI” is searched in the order of (1) Windows directory, (2) directory having the execution file, and the file is searched for. If found, it is determined as a deletion candidate.
[0139]
Note that there are some application programs in which the name of the INI file is different from the name of the executable file. For such an application program, the
[0140]
If the main file to be deleted is the execution file DXUTW.EXE shown in FIG. 12, the INI file whose extension portion of the file name is changed to “INI” is “DXUTW.INI”. When this file is searched from the directory structure shown in FIG. 12, it is found in the Windows directory, and the file is determined as a deletion candidate.
[0141]
In step S15 of FIG. 13, the help file is analyzed. Generally, the help file is used by changing the extension of the executable file name of the application program to “HLP”, so it is checked whether the file with that name exists in the directory where the executable file is located. If it exists, it is determined as a deletion candidate. If the main file to be deleted is the executable file DXUTW.EXE, the file whose extension is changed to “HLP” is “DXUTW.HLP”. When this file is searched from the directory structure of FIG. 12, it is found in the directory <DISK2>, so this file is set as a deletion candidate.
[0142]
In step S16 in FIG. 13, the association between the execution file of the application program and the data file is analyzed. As shown in FIG. 8 described above, this association information is registered in the [Extensions] section in WIN.INI, which is an INI file of the Windows system, in the following format.
[0143]
<Extension> = <Executable file name> ^. <Extension>
[0144]
Therefore, analyze the [Extensions] section in WIN.INI and select the main file to be deleted. Check whether there is an entry (description) with <executable file name>. If the entry exists, the entry is set as a deletion candidate. For example, if the main file to be deleted is the executable file DXUTW.EXE, as shown in FIG. 8, the entry “dxt = a: \ DISK2 \ DXUTW.EXE ^ .dxt” corresponding to this executable file is included. Therefore, this entry is set as a deletion candidate.
[0145]
In step S17 of FIG. 13, an extension file is analyzed. If an executable file associated with a specific extension is deleted, the file itself with that extension cannot be handled. Therefore, when deleting the association with the main file to be deleted from the [Extensions] section of WIN.INI, the file having the extension is also a deletion candidate. However, in step S17, it is not checked whether the file actually exists, but simply “extension”. Register that <xxx> files "are candidates for deletion.
[0146]
In step S18 in FIG. 13, the section in the WIN.INI file is analyzed. Some application programs write their environment settings in WIN.INI without using a separate INI file. In such a case, the section name is often the name of the application program executable file without the extension, so check whether such a section exists in WIN.INI. Makes the section a candidate for deletion. For example, considering the case where the main file to be deleted is the execution file DXUTW.EXE, a section [DXUTW] corresponding to this execution file name exists in WIN.INI as shown in FIG. Therefore, this section is registered in the
[0147]
In step S19 of FIG. 13, the file in the application directory is analyzed. When the execution file of the application program is set as the main file to be deleted, there may be an unnecessary file other than the execution file. Therefore, the directory containing the executable file is the Windows directory (see FIG. 12). <Windows>) or Windows system directory (Figure 12) If it is not <SUSTEM>), the files in that directory are registered as deletion candidates. For example, if the main file to be deleted is the execution file “A: \ DISK2 \ DXUTW.EXE” shown in FIG. 12, the application directory is A: \ DISK2. Therefore, the
[0148]
"File A: \ DISK2 in directory (select individually)"
[0149]
In a deletion candidate confirmation process (step S5 in FIG. 10), which will be described later, among the files in this directory, files not included in other deletion candidates are displayed in a list, and the user selects a file to be deleted from there. . Among the files in the directory “A: \ DISK2” shown in FIG. 12, DXUTW.DLL is a deletion candidate as a reference DLL file, and DXUTW.HLP is a deletion candidate as a help file. Therefore, as other deletion candidate files in the directory “A: \ DISK2”, three files “XDRVOTPW.EXE”, “XDRVOPT.DLL”, and “README.WRI” are displayed in a list.
[0150]
In step S20 of FIG. 13, OLE information is analyzed. Here, OLE is a Windows system function called “embedding objects and links”. Here, the “object” means information of one unit such as a picture or a spread seed created by an application program. Application programs that use OLE functionality include a "server" that can embed and link objects in another document, and a "client" that can accept objects created by other applications. Some application programs can be either servers or clients, and others can only be one of them. Application programs that can be servers for OLE functions are registered in the Windows system registration database "REG.DAT" (also called "registry file") during installation.
[0151]
The registration database REG.DAT contains various types of information for the windows system, including registration of OLE functions for each application program. When deleting an executable file, registration of OLE information in the registration database REG.DAT becomes meaningless, so this registration information is also a deletion candidate. Specifically, the registration contents of the registration database REG.DAT are checked, and information whose application name started by the OLE function is the main file to be deleted is determined as a deletion candidate. For example, when the execution file DXUTW.EXE is the main file to be deleted, it is assumed that OLE information as shown in FIG. 19 is registered in the registration database REG.DAT for this execution file. At this time, the three registration contents shown in FIG. 19 are registered in the
[0152]
In step S21 in FIG. 13, the icon selected in step S2 in FIG. 10 is analyzed. As shown in FIG. 11, when a program manager group or icon is selected in step S2 and uninstallation is designated, the contents registered in the program manager regarding the icon are added to the list of deletion candidates. The registration contents relating to the icons are the contents of items such as “title”, “command line”, “directory at the time of execution”, and “icon” shown in FIG. If the extension of the icon file indicated by “icon” is “.ICO”, the icon file is a graphic file representing an icon image. Therefore, the icon file is also added as a deletion candidate. In the example of FIG. 11, since the title of the icon registration information is “Disk utility”, the registration contents of the program manager relating to the icon of this title are entered as deletion candidates. In FIG. 11, the icon file is designated as “DXUTW.EXE”, but this is not a deletion candidate because the extension is not “.ICO”. The reason why a file whose extension is not “.ICO” is not a candidate for deletion is that it is highly likely that the file is used for purposes other than creating an icon image.
[0153]
In step S22 of FIG. 13, the application directory is analyzed. If deleting a file makes a directory empty, you can also delete that directory. Therefore, if the directory containing the main file to be deleted is not a Windows directory or a Windows system directory, the directory itself is added as a deletion candidate. For example, if the main file to be deleted is “A: \ DISK2 \ DXUTW.EXE” shown in FIG. 12, the directory name “A: \ DISK2” is added to the deletion candidate list in the following manner.
[0154]
"Directory A: \ DISK2 (deletes when directory is empty)"
[0155]
As can be seen from the procedure of FIG. 13, the analysis in steps S13 to S20 is performed only when the deletion target main file is an execution file. However, the analysis in steps S21 and S22 is performed when the deletion target main file is an execution file. It is also executed in other cases.
[0156]
FIG. 20 is an explanatory diagram showing the contents of deletion candidates obtained as a result of the above analysis. The deletion candidates in FIGS. 20A to 20D, F, and H are files, the deletion candidates in FIG. 20K are directories, and FIGS. 20E, 20G, and 20I. ), (J) deletion candidates are information registered in predetermined files (WIN.INI, REG.DATA, and program manager). As described above, the
[0157]
Thus, when the analysis in step S3 of FIG. 10 is completed, a default deletion candidate is determined in step S4. As a result of the analysis in step S3, deletion candidates as shown in FIG. 20 are registered in the
[0158]
The deletion target main file shown in FIG. 20A is always a default deletion candidate. For the reference DLL and the reference VBX shown in FIG. 20B, first, it is checked whether or not the reference link 240 (FIG. 9) is registered.
[0159]
The
[0160]
When the deletion target main file is included in the execution file list of the
[0161]
When the deletion target main file is not included in the execution file list of the
[0162]
If a group including a plurality of execution files is specified in step S2 of FIG. 10, a plurality of execution files are specified as deletion target main files in step S11 of FIG. At this time, it is checked whether or not the total number of references from these executable files matches the number of references registered in the
[0163]
Note that the files and information shown in FIGS. 20C to 20K are all default deletion candidates.
[0164]
When a default deletion candidate is determined, the deletion candidate and other files and information are displayed separately. FIG. 22 is an explanatory diagram showing an example of a screen showing deletion candidates. In FIG. 22, for convenience of illustration, file names different from the deletion candidates shown in FIG. 20 are displayed, but in reality, the deletion candidates shown in FIG. 20 should be displayed on the screen.
[0165]
The file name “A: \ DISK2 \ DXUTW.EXE” and its title are displayed at the top of the screen. In the central part of the screen, categories and deletion contents are displayed for all files and information used in connection with execution of the deletion target main file. Categories are file types such as DLL files, INI files, help files, and icon files. A file name with a path name and a cautionary note are written in the deletion contents column. The notice states that it is currently being executed and cannot be selected as a deletion target, or that it cannot be selected as a deletion target because it is being used by another program. Files and information lines that are the default deletion candidates are highlighted. Note that different portions in the deletion candidate list are displayed on the screen of FIG. 22A and the screen of FIG.
[0166]
By clicking the line of each file with the
[0167]
Note that the function of selecting a deletion target with the
[0168]
After the deletion target is determined on the screen of FIG. 22, when the user presses the “Uninstall” button at the right end of the screen with the
[0169]
In step S5, a confirmation window as shown in FIG. 23 is displayed for each file and information selected as a deletion target. The user can individually confirm whether or not to delete each deletion target. If the user wants to confirm the contents of the file again, the user can see the detailed information of the file as shown in FIG. 7 by pressing the “detailed information” button in FIG. Furthermore, when the file is a data file created by an application program such as a word processor, graphics, spreadsheet program, etc., the application program is not started by pressing the “display” button in FIG. Its contents (documents, images, spreadsheets, etc.) can be displayed on the screen.
[0170]
When the process for confirming each file and information to be deleted is completed in this way, a clean information file is created in step S6 of FIG. The uninstall process not only deletes files, but also modifies various configuration files (INI files) and the registration database REG.DAT. Therefore, in order to enable restoration of the uninstall process, a clean information file indicating the contents of corrections made on the file is created. This clean information file is saved together with other files at the time of backup in step S7. When restoring the uninstall process, the contents of the setting file and the registration database can be restored to the original setting state by analyzing the contents of the clean information file after restoring the backup file.
[0171]
FIG. 24 is an explanatory diagram showing the contents included in the clean information file, and is an example when all the deletion candidates shown in FIG. 20 are confirmed as deletion targets. 24 (A), (B), (C), and (D) are contents corresponding to FIGS. 20 (G), (E), (I), and (J), respectively. “Delete group of program manager” in FIG. 24E means that when the entire group is selected as a deletion target in step S2 of FIG. 10, the group name is saved.
[0172]
The contents included in the clean information file are information for setting the application program usage environment to the environment immediately before the uninstallation process, and may not be restored by reinstallation of the application program. Various setting contents and registration contents shown in FIG. 24 may be changed by the user after the application program is installed. Therefore, if the contents shown in FIG. 24 are stored, the application program can be restored to the use environment immediately before the uninstall process by restoring these setting contents after the application program is reinstalled.
[0173]
Note that the processing function of step S6 performed by the
[0174]
In step S7 of FIG. 10, backup of the deletion target file is executed. At this point, the files and information to be finally deleted are fixed. In step S7, a backup dialog (backup condition setting window) for setting backup conditions is displayed. The user inputs a backup destination and a backup level. The backup destination is a disk drive name for storing the backup file. The default file name of the backup file for each file to be deleted is set to “DXmmdd ??. ZIP” regardless of the original file name. Here, the first two characters “DX” are a prefix indicating that this is a backup file by this disk content organization system, and the next four characters “mmdd” are two numbers each indicating the month and day from which the file is to be deleted, “??” is a serial number starting from 00 assigned to multiple files to be deleted at the same time, and “ZIP” is an extension indicating that it is a ZIP archive file. The user can change this name if necessary.
[0175]
In the backup dialog, you can also specify the backup level. Backup levels include full backup and simple backup.
[0176]
In a full backup, all files to be deleted and files to be modified (files whose information is deleted / changed) are the backup targets.
[0177]
Simple backup does not back up files that can be restored by re-installing the application program, but backs up only the files that are assumed to be changed by the user. Therefore, files that are not normally changed by the user are excluded from backup. As a result, the size of the file to be backed up can be considerably reduced.
[0178]
Files that are not always backed up in simple backup are executable files, help files, DLL files, and VBX files. This is because the contents of these files cannot be changed by the user, and the same files can be restored by reinstalling the application program.
[0179]
Files that are always subject to backup in simple backup are INI files and files having extensions associated with the application program. This is because the setting contents of the INI file may be changed by the user, and the file having the extension of the application is likely to be created after the application is installed.
[0180]
Some files are unclear at a glance whether or not they should be backed up in simple backup. This includes the icon file and the rest of the files in the application directory. Whether or not these files are to be backed up is determined according to the following judgment condition.
[0181]
[Condition for determining whether backup is necessary]: A file whose update date and time is later than the update date and time of the application directory is a backup target. Other files are not targeted for backup.
[0182]
Since the update date and time of the application directory usually coincides with the date and time when the application was installed, using the above judgment condition, only files that have been changed after installation can be backed up.
[0183]
Note that the simple backup target may be determined by applying the above-described determination condition to all the files to be deleted. This method also provides substantially the same results as described above.
[0184]
Note that the function of specifying the object of the simple backup as described above by the
[0185]
The backup unit 238 (FIG. 9) executes backup processing based on the user designation in the backup dialog. Specifically, create a ZIP archive file for all files to be backed up. Note that the information on the archive file created by the
[0186]
In step S8 of FIG. 10, the uninstaller 236 (FIG. 9) executes an uninstall process. That is, deletion of a file confirmed as a deletion target and deletion or correction of various information in a predetermined file are executed.
[0187]
In step S9, the reference link 240 (FIG. 9) is updated by the
[0188]
In this way, when all the uninstallation processing steps shown in FIG. 10 are completed, the total number of bytes of the area released is displayed on the screen, and the screen returns to the application selection screen (FIG. 11).
[0189]
By the way, the processes of steps S5 to S9 in FIG. 10 are selectively executed as follows depending on the check states of the three check boxes “trial”, “confirm”, and “backup” at the top of the screen in FIG. Is done.
[0190]
If “trial” in the check box is checked, step S6 (clean information file creation process), step S7 (backup process), step S8 (uninstall process), and step S9 (update reference link) ) Is not executed. Therefore, if you check this “trial” box, you can know what kind of file deletion or correction (correction associated with deletion of information in the file) will be performed without actually deleting the file. be able to.
[0191]
On the other hand, if “trial” is not checked, steps S6 to S9 are executed.
[0192]
If “backup” in the check box is checked and “trial” is not checked, the backup process in step S7 is executed. If “backup” is not checked, step S7 is not executed.
[0193]
If “Confirm” in the check box is checked, step S5 (confirmation process) is executed, and if not checked, step S5 is not executed.
[0194]
As described above, in the disk content organization system in this embodiment, the user specifies whether backup is necessary or creates only a list of files and information to be deleted without actually performing uninstallation. Therefore, the user can easily organize the contents of the
[0195]
I. To create a reference link:
FIG. 25 is a flowchart illustrating a procedure for creating the reference link 240 (FIGS. 9 and 21) by the
[0196]
In step S60 of FIG. 25, the next icon is extracted from the program manager as a processing target. If there are no unprocessed icons, the processing in FIG. 25 is terminated. In step S61, the command line of the icon to be processed is analyzed to obtain the main file. The processing in step S61 is substantially the same as the analysis of the deletion target main file shown in FIG. If the main file is not an executable file, the process returns from step S62 to step S60. If the main file is an executable file, the processes in and after step S63 are executed. This is because in the process of creating the
[0197]
In step S63, it is checked whether or not the execution file to be processed is registered in the execution file list (FIG. 21) of the
[0198]
In step S65, the execution file to be processed is checked to obtain one referenced DLL file. This process is performed by examining the import name table and the relocation table included in the execution file, similarly to the analysis process in step S13 of FIG. In step S66, it is checked whether or not the DLL file is registered in the referenced file list (FIG. 21) of the
[0199]
The DLL file itself may refer to other DLL files. Therefore, in step S69, it is checked whether or not the DLL file obtained in step S65 refers to another DLL file. If there is a reference DLL, steps S66 to S69 are recursively repeated.
[0200]
In step S70, it is checked whether or not the next DLL referenced by the execution file to be processed exists, and if it exists, the process proceeds to step S66. When steps S66 to S70 are repeatedly executed and the processing related to one execution file is completed, the process returns to step S61, and the processing of steps S61 to S70 is repeated for the other icons. Thus, when the processing for all the icons registered in the program manager is completed, the contents of the list are written in the
[0201]
If the
[0202]
J. et al. Differences between operating systems:
In the above embodiment, the description has been given for a computer system that operates under the Windows 3.1 system. However, the present invention is applicable to a computer system that operates under another Windows system such as Windows 95 (trademark of Microsoft Corporation). Is also applicable. The differences between the Windows 3.1 system and the Windows 95 system related to the present invention are as follows.
[0203]
(1) In Windows 95, the operating system manages the last access date of each file. Therefore, it is not necessary to record the last access date of each file in the
[0204]
(2) The registration database REG.DAT in Windows 3.1 corresponds to a file called “registry” in Windows 95. The Windows 95 registry also contains information about system settings described in WIN.INI and SYSTEM.INI in Windows 3.1. In the above embodiment, the processing related to the registration database REG.DAT and the processing related to system settings in WIN.INI and SYSTEM.INI are performed on the registry under the Windows 95 system. The term “registry file” in this specification is used as a broad term including the registration database REG.DAT in Windows 3.1 and the registry in Windows 95.
[0205]
In the registry file, association information similar to that registered in WIN.INI (information indicating the association between the extension and the executable file) is also registered. FIG. 26 is an explanatory diagram showing association information registered in the registry file. As shown in FIG. 26A, the association information in the registry file includes the correspondence between the extension and the document type, the correspondence between the document type and the document name, the correspondence between the document type and the execution file, Is registered. This information associates the extension with the executable file. ""% 1 "" is an argument specification at startup. When the file name of the data file having the extension defined in the association information is designated and activated, the part “% 1” in FIG. 26A is replaced with the designated file name. FIG. 26B is an example of association information between the executable file DXUTW.EXE and the extension dxt. For example, when a file “aaa.dxt” is activated, a command line “a: \ DISK2 \ DXUTW.EXE aaa.dxt” is executed.
[0206]
Thus, since the association information is registered in the registry file (registration database or registry), the analysis of the association information in step S16 in FIG. 13 described above is also performed on the registry file. In FIG. 20I, association information in the registry file is also a deletion candidate in addition to the OLE information. When the association information is actually deleted, the association information in the registry file is also included in the clean information file in FIG.
[0207]
(3) In Windows 95, groups are registered in the start menu instead of the program manager. That is, the icon is also registered in the start menu (actually written in a specific area on the file system). Accordingly, in FIG. 20J, the registered content of the icon in the start menu is a deletion candidate. When the icon is actually deleted, in FIG. 24D, the registered content of the icon in the start file is included in the clean information file.
[0208]
K. Archive uninstall process:
In addition to the functions described in FIG. 9 described above, the
[0209]
FIG. 28 is a flowchart showing the procedure of the archive uninstall process. In step S101, an application to be subjected to archive uninstall processing is selected. This is almost the same as the processing in steps S1 and S2 in FIG. In order to select the archive uninstall process, it is preferable to add a “archive uninstall” button to the application selection screen shown in FIG. 11 described above. As a processing target, one icon can be selected, or a plurality of icons in a group can be selected. Hereinafter, a case where one icon is selected as a processing target will be mainly described.
[0210]
When an icon (or group) to be processed is selected, an application registered in the icon is analyzed in step S102. This is almost the same as the processing in steps S3 to S6 and S9 in FIG. That is, in step S102, step S3 (analysis), step S4 (determination of default deletion candidate), step S5 (confirmation of deletion candidate by user), step S6 (creation of clean information file), and step S9 in FIG. (Reference link update) is performed. A process similar to step S7 (execution of backup) in FIG. 10 is executed in step S103 described later, and a process similar to step S8 (execution of uninstall) is executed in step S106 described later.
[0211]
In step S103, an archive file is created by compressing all the files and information that are candidates for deletion among the files and information related to the icon to be processed, and the clean information file. That is, the contents of the deletion candidate shown in FIG. 20 and the clean information shown in FIG. 24 are compressed. At this time, regardless of whether or not it is a default deletion candidate (this is determined in step S4 in FIG. 10), as a result of the analysis in step S3 in FIG. It is compressed as a single archive file. In other words, step S103 corresponds to performing the backup process in step S7 of FIG. 10 for all deletion candidates and clean information files. Note that the actual processing of compression and decompression is executed by the arc file unit 208 (FIG. 2).
[0212]
In step S103, a file whose category is “file in application directory” or “extension file” is usually data (document) created by the application. Therefore, regarding the files in these categories, only the files selected in the confirmation process by the user (step S5 in FIG. 10) performed in step S102 may be archived.
[0213]
Further, depending on the category, the user may be prohibited from changing the selection state of the deletion candidate. For example, if a category “icon” is set in a non-selected state, the icon is not deleted in step S105 described later. If this happens, the original icon and the decompression icon coexist. In order to prevent such a problem, it is only necessary to prevent the user from changing the selection state of the file of the category “icon”.
[0214]
When an entire group is selected as a processing target, it is preferable that all files in the group are selected by default (default deletion candidates).
[0215]
In step S104, the decompression icon is registered in the group. The decompression icon (see FIG. 27) is obtained by adding a specific mark (a character or a symbol) indicating the decompression icon to a specific position (for example, lower right) of the original icon. Also, keep the other parts of the icon almost the same as the original icon design. In this way, when the user views the decompression icon, it can be easily determined which application the decompression icon is.
[0216]
In step S101, when an entire group is selected, all icons in the group are replaced with icons for decompression.
[0217]
In the command line of the decompression icon, an execution file of the decompression program is registered as a command line execution file, and an archive file is registered as a document opened by the execution file. By doing so, the decompression program is activated when the user selects and activates the decompression icon during decompression, and the corresponding archive file can be decompressed. When all the icons in the group are replaced with decompression icons, when any one of them is designated, the entire group is decompressed and the designated icon is activated. If another icon in the same group is activated while this icon is being executed, it has already been decompressed, so only the program is activated without being decompressed again.
[0218]
In step S105, the association information registered in the registry file is changed. This is due to the following reason. As described above, a document file created by an application to be deleted may not be a deletion candidate. That is, the document file is not included in the archived file and may not be deleted (uninstalled). Therefore, even if the user specifies to open a document file, the document file cannot be opened if the application itself is archived. By the way, as shown in FIGS. 26A and 26B, association information between the extension of the document file and the execution file of the application is registered in the registry file. Therefore, in step S105, the association information is changed so that the extension of the document file is associated with the execution file of the decompression program. In this way, when the user instructs (double-click) to open the document file, the corresponding application program can be started.
[0219]
FIG. 26C shows the association information after the change. The first two lines in FIG. 26C are the same as FIG. 26B, and the last two lines in FIG. 26C are rewritten from FIG. However, since the last two lines in FIG. 26C are actually described by one line, they are hereinafter referred to as “third line”. The left side of “=” in the third row in FIG. 26C is the same as FIG. The first part “C: \ DXT \ DXMELT.EXE” on the right side of FIG. 26C shows the executable file of the decompression program, and the next part “/ MELT“ ARK.ZIP ”” is the archive file to be decompressed. Indicates the file name. Of course, as this file name “ARK.ZIP”, a different name is assigned to each archive file. The part surrounded by "" in the last part "/ ARC" a: \ DISK2 \
[0220]
When the association information is rewritten as shown in FIG. 26 (C), if it is specified to start a document file having the extension “.dx2”, it is specified in the third line of FIG. 26 (C). The archived file "ARK.ZIP" is decompressed, and then the associated program is started according to the command line "a: \ DISK2 \
[0221]
As described above, instead of storing all the association information after compression in the registry file for the operating system, it is possible to store a part of it in another file.
[0222]
FIG. 26D shows another example of association information stored in the registry file. In the last two lines of FIG. 26D (these are also actually one line and are referred to as “third line”), “/ MELT“ ARK.ZIP ”/ ARC” on the right side of the third line in FIG. a: \ DISK2 \
[0223]
A part of the association information after compression (for example, command line) may be stored in the clean information file in the archive file. Also in this case, information indicating the archive file to be decompressed is included in the association information in the registry file. In this way, the archive file is decompressed according to this information, and the command line can be extracted from the clean information file included in the archive file and executed.
[0224]
As the association information after compression, as shown in the example of FIG. Various information such as <##> can be included. In general, the association information after compression indicates information indicating an extension, information indicating an archive file including an executable file of a program associated with the extension, and a command line for starting the decompressed executable file. It may be created so as to include information.
[0225]
In step S106, the selected file or information is deleted (uninstalled). Individual files and information may be referred to as “items”.
[0226]
The process of step S101 in FIG. 28 corresponds to the function of the application selection means in this invention. Further, step S102 corresponds to the search means, step S103 corresponds to the archiving means, step S104 corresponds to the icon change means, and step S106 corresponds to the function of the deletion execution means.
[0227]
FIG. 29 is a flowchart showing the procedure for using the archive file. In step S111, the user double-clicks the decompression icon to instruct decompression of the archived application. In response to this, the
[0228]
In step S114, the decompressed application is activated, and in step S115, the application is executed. During the execution of the decompressed application, the
[0229]
When it is detected in step S116 that the application has ended, in step S117, the user is inquired whether to store the application in a decompressed state or return it to the archived state. When storing in the decompressed state, the archive file and the decompression icon are deleted in step S118, and all the processes are terminated. At this time, the decompressed application and its related files stored in the
[0230]
On the other hand, when returning to the archived state, the archive file is updated in step S119. In this update process, only the files and information changed during the execution of the application in step S115 are recompressed, and the recompressed part is rewritten with the corresponding part of the original archive file. For example, when the environment setting of the application is changed, the INI file in which the environment setting is registered is recompressed and updated. However, the document file created in the execution of the application (step S115) may be excluded from the compression target. The type of the decompressed file and information can be known by referring to the clean information file included in the archive file. Further, it can be known whether or not they have been changed by checking their last update date. Accordingly, it is possible to recompress only the changed files and information registered in the clean information file. Since the archive file includes the clean information file, it is not necessary to analyze the application (step S102 in FIG. 28) when recompressing.
[0231]
Note that management data indicating the position and size of a compressed file or information is registered in the archive file. Therefore, by referring to this management data, it is possible to know where in the archive file the file to be rewritten and the compressed data of the information exist.
[0232]
The entire processing of FIG. 29 corresponds to the function of the decompression means in the present invention. In particular, the process of step S119 corresponds to the function of the archive file update unit.
[0233]
As described above, the
[0234]
Since the archive file includes all files and information that are candidates for deletion, the application can be reliably started by decompressing the archive file. In addition, when creating an archive file, a decompression icon for decompressing the archive file is registered, so that the user can easily start the archived application using the icon. Can do.
[0235]
L. Application to application transfer:
The archive file can be used for transferring applications between computers. FIG. 30 is a flowchart showing a procedure for transferring an application between computers using an archive file.
[0236]
The transfer source computer selects an application to be transferred (S121), analyzes (S122), and compresses deletion candidates (archive candidates) (S123). These steps S121 to S123 are the same as steps S101 to S103 in FIG. 28 described above. However, in the procedure of FIG. 30, since the files and information are not uninstalled, the term “deletion candidate” is not accurate, but rather should be called “archive candidate”.
[0237]
In the transfer destination computer, the file organization program group (see FIG. 2) is installed (step S131), and the archive uninstall unit 300 (FIG. 27) is activated (S132). Then, it is decompressed by designating a floppy disk or an archive file transferred online (S133).
[0238]
When unpacking archive files, care must be taken when handling drives and directories. That is, the drive or directory that existed in the transfer source computer may not exist in the transfer destination computer. In such a case, the user may be inquired as to which directory in which drive the decompressed file should be stored, and stored according to the user's designation.
[0239]
Note that the processing in step S121 in FIG. 30 corresponds to the function of the application selection means in the present invention. Further, step S122 corresponds to the searching means, step S123 corresponds to the archiving means, and step S133 corresponds to the function of the icon changing means.
[0240]
Since the archive file has an extremely small amount of data, the application can be easily transferred by the above-described procedure. Further, since the archive file includes application settings in the transfer source computer, there is an advantage that the same setting state as that of the transfer source computer can be restored in the transfer destination computer.
[0241]
The present invention is not limited to the above-described embodiments, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.
[0242]
(1) When the user selects an execution file as a deletion target in the
[0243]
As described above, when the
[0244]
(2) All access histories used for file deletion need not be created by the history recording unit 212. For example, the last access date and time managed by the operating system can be used. In this case, the history recording unit 212 may register a history other than the access history managed by the operating system.
[0245]
(3) When a file is deleted using the
[Brief description of the drawings]
FIG. 1 is a block diagram showing a hardware configuration of a computer system to which an embodiment of the present invention is applied.
FIG. 2 is a functional block diagram showing functions of a program group for organizing files in the
FIG. 3 is an explanatory diagram showing an example of a screen display of a directory listing.
FIG. 4 is an explanatory diagram illustrating an example of a screen display of a list by extension.
FIG. 5 is an explanatory diagram illustrating an example of a screen display of a file list including an access history.
FIG. 6 is an explanatory diagram showing an example of classification of usage in an access history.
FIG. 7 is an explanatory diagram showing an example of a screen display of detailed file information.
FIG. 8 is an explanatory diagram showing an example of file contents of WIN.INI.
FIG. 9 is a block diagram showing an internal configuration of the
FIG. 10 is a flowchart showing the procedure of uninstallation processing.
FIG. 11 is an explanatory diagram showing an application selection screen (selection dialog).
FIG. 12 is an explanatory diagram showing a directory structure in the embodiment.
FIG. 13 is a flowchart showing a detailed procedure of step S3.
FIG. 14 is a flowchart showing a detailed procedure of step S11.
FIG. 15 is an explanatory diagram showing an example of a command line.
FIG. 16 is a flowchart showing a detailed procedure of step S13.
FIG. 17 is an explanatory diagram showing the configuration of an import name table and a relocation table.
FIG. 18 is an explanatory diagram showing an example of a reference list of a DLL file and a VBX file.
FIG. 19 is an explanatory diagram showing an example of registered contents of OLE information in a registration database.
FIG. 20 is an explanatory diagram showing details of deletion candidates.
FIG. 21 is an explanatory diagram showing registration contents of a
FIG. 22 is an explanatory diagram showing an example of a screen showing the analysis result of deletion candidates.
FIG. 23 is an explanatory diagram showing an example of a confirmation window to be deleted.
FIG. 24 is an explanatory diagram showing the contents of a clean information file.
FIG. 25 is a flowchart showing a procedure for creating a
FIG. 26 is an explanatory diagram showing association information registered in a registry file.
FIG. 27 is an explanatory diagram showing functions of the
FIG. 28 is a flowchart showing a procedure of archive uninstall processing.
FIG. 29 is a flowchart showing a procedure for using an archive file.
FIG. 30 is a flowchart showing a procedure for transferring an application between computers using an archive file.
[Explanation of symbols]
10 ... Computer
20 ... arithmetic processing unit
21 ... CPU
22 ... Local bus
23 ... Cache memory
24 ... Cash controller
25 ... Main memory
30 ... PCI bridge
32 ... PCI bus
40: Controller section
42 ... ISA bus
44 ... VGA
46 ... SCSI controller
48 ... ISA bridge
54 ... Composite I / O port
56 ... Sound I / O
60 ... I / O section
62 ... ISA slot
68 ... Timer
72 ... Keyboard
73 ... Mouse
74 ... Speaker
76 ... CRT
82 ... Floppy disk device
84: Hard disk
86 ... Parallel port
88 ... Printer
90 ... Serial port
92 Modem
96 ... Microphone
202 ... Finder section
204 ... Cleaner
206: Resource monitoring unit
208 ... Ark filer
210 ... Rescue club
212 ... History recording unit
220: Access monitoring unit
222 ... History log
224 ... History database update unit
226 ... History database
230 ... User interface part
232 ... Information acquisition unit
234 ... Analysis unit
236 ... Uninstallation part
238 ... Backup section
240 ... Reference link
300 ... Archived uninstall section
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP08770396AJP4215286B2 (en) | 1995-05-18 | 1996-03-15 | Storage device content organization system and storage device content organization method |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7-145397 | 1995-05-18 | ||
| JP14539795 | 1995-05-18 | ||
| JP08770396AJP4215286B2 (en) | 1995-05-18 | 1996-03-15 | Storage device content organization system and storage device content organization method |
| Publication Number | Publication Date |
|---|---|
| JPH0934755A JPH0934755A (en) | 1997-02-07 |
| JP4215286B2true JP4215286B2 (en) | 2009-01-28 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP08770396AExpired - LifetimeJP4215286B2 (en) | 1995-05-18 | 1996-03-15 | Storage device content organization system and storage device content organization method |
| Country | Link |
|---|---|
| JP (1) | JP4215286B2 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5829656Y2 (en)* | 1975-04-30 | 1983-06-29 | 日本電気ホームエレクトロニクス株式会社 | Ghost Canceller Tsuki Television Stationery Yuzuki |
| JP3788003B2 (en)* | 1998-01-12 | 2006-06-21 | カシオ計算機株式会社 | Network terminal device and storage medium |
| JPH11219282A (en)* | 1998-01-30 | 1999-08-10 | Nec Software Chubu Ltd | Computer program management method and computer system |
| JPH11296351A (en)* | 1998-04-15 | 1999-10-29 | Nec Corp | System for generating parameter for constructing environment, method therefor and recording medium |
| US6801918B1 (en) | 1998-04-23 | 2004-10-05 | Matsushita Electric Industrial Co., Ltd. | File management apparatus and file management method |
| US6192375B1 (en)* | 1998-07-09 | 2001-02-20 | Intel Corporation | Method and apparatus for managing files in a storage medium |
| GB2349485B (en)* | 1999-04-23 | 2003-12-10 | Ibm | Application management |
| JP2001092779A (en)* | 1999-09-20 | 2001-04-06 | Canon Inc | Image processing apparatus, data processing method, and storage medium |
| JP3566152B2 (en) | 1999-10-27 | 2004-09-15 | 松下電器産業株式会社 | Data recording / reproducing device and program recording medium |
| JP2001282634A (en)* | 2000-03-29 | 2001-10-12 | Fujitsu Ltd | File transmission / reception system and file transmission / reception program storage medium |
| JP2002073392A (en)* | 2000-08-25 | 2002-03-12 | Kenwood Corp | Mobile terminal and its file-managing method |
| JP4794750B2 (en)* | 2001-04-27 | 2011-10-19 | 株式会社ケンウッド | Data display device and data display method |
| EP1357555A1 (en) | 2002-04-22 | 2003-10-29 | Deutsche Thomson-Brandt Gmbh | Recording media maintenance support |
| JP2007304119A (en)* | 2004-03-03 | 2007-11-22 | Pioneer Electronic Corp | Musical piece sameness discrimination device and method or like |
| JP4608923B2 (en)* | 2004-03-24 | 2011-01-12 | 富士ゼロックス株式会社 | Uninstall system |
| JP4172439B2 (en) | 2004-09-09 | 2008-10-29 | コニカミノルタビジネステクノロジーズ株式会社 | Data management apparatus and data management system |
| JP2006209462A (en)* | 2005-01-28 | 2006-08-10 | Kyocera Corp | Terminal device |
| JP2006268728A (en)* | 2005-03-25 | 2006-10-05 | Sanyo Electric Co Ltd | Mobile communication apparatus, deletion method, and deletion program |
| US7953733B2 (en) | 2005-04-18 | 2011-05-31 | Canon Kabushiki Kaisha | Recording/playback apparatus, recording/playback method, program, and storage medium |
| JP4817706B2 (en)* | 2005-04-21 | 2011-11-16 | キヤノン株式会社 | Imaging device |
| JP2008287370A (en)* | 2007-05-15 | 2008-11-27 | Sony Corp | Display control device, display control method and program |
| JP2009176119A (en)* | 2008-01-25 | 2009-08-06 | Sky Co Ltd | File use circumstance determination system |
| JP4956479B2 (en)* | 2008-04-28 | 2012-06-20 | 富士フイルム株式会社 | Image file management apparatus and digital camera |
| JP5284685B2 (en) | 2008-05-16 | 2013-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | File rearrangement device, rearrangement method, and rearrangement program |
| JP5380130B2 (en)* | 2009-03-30 | 2014-01-08 | 株式会社野村総合研究所 | File search apparatus, file search method, and program |
| JP5578897B2 (en)* | 2010-03-17 | 2014-08-27 | ニフティ株式会社 | Backup program, method and computer |
| JP2011238239A (en)* | 2011-05-20 | 2011-11-24 | Kyocera Corp | Portable communication equipment, deleting method and deleting program |
| JP2013061760A (en)* | 2011-09-13 | 2013-04-04 | Konica Minolta Business Technologies Inc | Program and information processor |
| JP2014071458A (en)* | 2012-09-27 | 2014-04-21 | Hitachi Solutions Ltd | File hierarchy management system of plural file servers |
| JP5839589B2 (en)* | 2012-10-16 | 2016-01-06 | 株式会社神戸製鋼所 | Teaching data editing system and program |
| JP5832410B2 (en)* | 2012-10-17 | 2015-12-16 | 京セラ株式会社 | Mobile communication device, deletion method, and deletion program |
| JP6215004B2 (en)* | 2013-10-30 | 2017-10-18 | 株式会社日立ソリューションズ | Business document processing apparatus, business document processing method, program, and computer-readable storage medium |
| JP2017004114A (en) | 2015-06-05 | 2017-01-05 | キヤノン株式会社 | Image forming apparatus and application deletion method |
| JP6570364B2 (en) | 2015-08-05 | 2019-09-04 | キヤノン株式会社 | Image forming apparatus and control method thereof |
| CN105975400B (en)* | 2016-04-27 | 2019-06-04 | 北京金山安全软件有限公司 | Space management method and device and electronic equipment |
| Publication number | Publication date |
|---|---|
| JPH0934755A (en) | 1997-02-07 |
| Publication | Publication Date | Title |
|---|---|---|
| JP4215286B2 (en) | Storage device content organization system and storage device content organization method | |
| US6466952B2 (en) | Method for transferring and indexing data from old media to new media | |
| JP3993227B2 (en) | File translation system | |
| KR100467438B1 (en) | Method and apparatus for managing files in a storage medium | |
| US6496837B1 (en) | Multiple attribute file directory manipulation and navigation system | |
| US8417673B2 (en) | Method, system, and program for retaining versions of files | |
| US6795835B2 (en) | Migration of computer personalization information | |
| US8799333B2 (en) | Delayed deletion of extended attributes | |
| US20060037079A1 (en) | System, method and program for scanning for viruses | |
| US7251808B2 (en) | Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects | |
| JP2001510598A (en) | Device drive for accessing computer files | |
| GB2324891A (en) | Adaptive computer directory and file selection | |
| US20060106896A1 (en) | System and method for creating list of backup files based upon program properties | |
| US6546500B1 (en) | Computer, computer network system, and recording medium | |
| US5764983A (en) | Method and system for efficiently creating a new file associated with an application program | |
| US7376946B2 (en) | Program management method for computer to which storage medium is attached, computer and storage medium | |
| US7647588B2 (en) | Smart archive for JAR files | |
| JPH1031590A (en) | Client server system | |
| JPH1124896A (en) | Software installation method | |
| JP2000082002A (en) | Data management system and recording medium | |
| US20040267827A1 (en) | Method, apparatus, and program for maintaining quota information within a file system | |
| US6625614B1 (en) | Implementation for efficient access of extended attribute data | |
| JP2002023964A (en) | Method for controlling information stored in recording medium of computer system | |
| US7107336B2 (en) | Method and apparatus for enhanced server page execution | |
| JPH0934764A (en) | Information processing method and apparatus |
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant | Free format text:JAPANESE INTERMEDIATE CODE: A711 Effective date:20041015 | |
| A131 | Notification of reasons for refusal | Free format text:JAPANESE INTERMEDIATE CODE: A131 Effective date:20050301 | |
| A521 | Written amendment | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20050428 | |
| A02 | Decision of refusal | Free format text:JAPANESE INTERMEDIATE CODE: A02 Effective date:20050607 | |
| A521 | Written amendment | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20050727 | |
| A911 | Transfer to examiner for re-examination before appeal (zenchi) | Free format text:JAPANESE INTERMEDIATE CODE: A911 Effective date:20050901 | |
| A912 | Re-examination (zenchi) completed and case transferred to appeal board | Free format text:JAPANESE INTERMEDIATE CODE: A912 Effective date:20051222 | |
| A521 | Written amendment | Free format text:JAPANESE INTERMEDIATE CODE: A523 Effective date:20081006 | |
| A01 | Written decision to grant a patent or to grant a registration (utility model) | Free format text:JAPANESE INTERMEDIATE CODE: A01 | |
| A61 | First payment of annual fees (during grant procedure) | Free format text:JAPANESE INTERMEDIATE CODE: A61 Effective date:20081104 | |
| R150 | Certificate of patent or registration of utility model | Free format text:JAPANESE INTERMEDIATE CODE: R150 | |
| FPAY | Renewal fee payment (event date is renewal date of database) | Free format text:PAYMENT UNTIL: 20111114 Year of fee payment:3 | |
| FPAY | Renewal fee payment (event date is renewal date of database) | Free format text:PAYMENT UNTIL: 20111114 Year of fee payment:3 | |
| FPAY | Renewal fee payment (event date is renewal date of database) | Free format text:PAYMENT UNTIL: 20121114 Year of fee payment:4 | |
| FPAY | Renewal fee payment (event date is renewal date of database) | Free format text:PAYMENT UNTIL: 20121114 Year of fee payment:4 | |
| FPAY | Renewal fee payment (event date is renewal date of database) | Free format text:PAYMENT UNTIL: 20131114 Year of fee payment:5 | |
| EXPY | Cancellation because of completion of term |