URL Cache Copy Program.

URL Cache Copy Program Ver.1.83
2001/2/12 written by Thrasher  mail  Thrasher's Personal Laboratory.

1.はじめに(Introduction)

本プログラムはMicrosoft Internet Explorerのキャッシュをディレクトリ構成ごとローカルファイルとしてコピーするソフトウェアです。

Microsoft Internet Explorerのバージョン4以降がインストールされている必要があります。Microsoft Internet Explorer以外のブラウザのキャッシュをコピーすることは出来ません。

バージョン1.5以降ではキャッシュ中の全インターネットファイルを、バージョン1.6以降からはSSLスキームファイルを、またバージョン1.7以降からはCookieをコピーできるようになりました。

バージョン1.82以降ではIEからハイパーリンクをdrag&dropすることができるようになりました。

バージョン1.83以降ではブラウザによるftpダウンロードファイルをコピーできるようになりました。またキャッシュエントリ削減のためのオプションを利用できるようになりました。

2.注意(Caution)

動作確認はWindows 98Windows MeWindows 2000 Professionalで行っています。別段特別なことはしていないはずなのでWindows 95等の環境でも動作するはずですが、もし何かありましたらメール等でお知らせください。

3.著作権及び使用条件(Copyrights and Requirements)

本ソフトウェアの著作権は作者であるThrasherが保有しています。本ソフトウェアを使用して起きたいかなる損害についても、作者は一切の責任を負いません。本ソフトウェアの商用・シェアウェアとしての使用を禁止します。またHTMLや画像等の著作権を侵害しないようにお願いいたします。

4.使用法(How to Use)

起動したら、Copy Destination項目とDefault Filename項目を入力します。Copy Destination項目にはコピー先のパスを、Default Filenameにはデフォルトファイル名を入力します。デフォルトファイル名とは/で終わるファイル名のないURLをコピーする際に使用されるファイル名です。

次にキャッシュからコピーしたいURLURL項目に入力してAddボタンを押します。Addボタンを押すとそのURLURL Listに追加されていきます。本プログラムはこのURL ListにあるURL傘下のファイルをキャッシュ中に見つけるとそれをコピー先にコピーします。

なおハイパーリンクをIEから本プログラムにdrag&dropすることで、そのハイパーリンク先のURLURL項目に入力できます。もしくはエディタ等で編集しているテキスト中にあるURLの場合はそれを「コピー」等の操作によりクリップボードに入れることで、本プログラムをアクティブにした際にクリップボードよりそれを取り込んでURL項目に入力できます。

URL項目への入力は必ずhttp://https://ftp://の内のいずれかで始まり/で終わる必要があります。通常はhttp://www.abc.ne.jp/~username/の形式でそのURL傘下のファイルをコピーしますが、アカウントのディレクトリを表す~username/を指定しない場合は指定したホスト名傘下のファイルを全てコピーすることになります。入力した各項目の内容はプログラムを終了しても消えずに残るので次回起動時からは入力する必要はありません。

URL Listに必要なURLを全て追加したらStartボタンを押します。開始直後は必要となる情報のキャッシュからの収集を行うので少し待たされますが、それを終えるとコピーが始まります。コピーは本プログラム内で起動するスレッドで行われます。

下の方にあるURL項目とFilename項目はキャッシュ中に見つかったコピー対象URLとコピー先でのフルパス表現のファイル名がそれぞれ表示されます。一番下はコピーの進捗を示します。コピー中に中止したい場合はStopボタンを押します。

URL ListからURLを削除したい場合は削除対象のURLを選択してRemoveボタンを押します。削除されたURLは新たにURL項目に移ります。

本プログラムではキャッシュ中のURLをコピー先のディレクトリ名やファイル名として使用しますが、URL表記は一部にディレクトリ名やファイル名として使用不可能な文字等が現れることがあります。本プログラムではURLを以下のように取り扱います。

URL/を円記号に変えます
URL?または#がある場合はその記号以下を切り捨てます
URLのスキーム(http://)以外で:がある場合(ポート番号がある場合)はそのポート番号部分を切り捨てます
URL*がある場合は全角の*に置き換えます
URL%記号とそれに続く16進数のエンコードを含んでいる場合は対応する文字に置き換えます

5.オプション設定(Option Configuration)

Optionボタンを押すと設定ダイアログが表示されます。

Time Stamp Comparison

コピー先に同名ファイルが存在した際にどのように処理するかを3つのうちから1つ選んで指定します。

Overwrite If Newer File is Cached

キャッシュ中のファイルの日時とコピー先のファイルの日時を比較して、キャッシュ中のファイル日時の方が新しい場合(つまりコピー先ファイルが古い場合)だけ上書きコピーを行います。

過去にコピーされたファイルを残さずにキャッシュからコピーを行いたい場合に選択します。

Overwrite Always

ファイル日時の比較は行われず無条件で上書きコピーされます。

Rename and Copy

コピー先に存在する同名ファイルのファイル名を変更してからコピーします。コピー先の同名ファイルは西暦、月、日が付与されたファイル名に変更されます。

過去にコピーされたファイルを残しつつキャッシュからコピーを行いたい場合に選択します。

No Progress

コピー中に最下段に表示される進捗表示の有無を指定します。チェックされているとコピー中の進捗は表示されなくなります。チェックされていない場合は進捗が表示されます。

進捗表示を行う場合はコピー動作開始前にブラウザのキャッシュから情報取得作業が必要になるため、ブラウザのキャッシュが大きい場合には非常に時間がかかることがあります。進捗表示を行わない場合はコピー動作がどこまで捗ったかが表示されなくなりますが、コピー動作前の情報取得作業が不要になるためStart ボタン押下後すぐにコピー動作が始まります。

No Report

コピー動作中に発生したエラーや、コピー動作完了後のコピーファイル数の表示等の有無を指定します。チェックされているとコピー動作中に発生したエラーもコピー動作完了後のコピーファイル数も表示しません。チェックされていない場合は全て表示します。

オートパイロットを実現するソフトウェア等と組み合わせて利用する場合に選択すると良いでしょう。

Delete Copied Ftp Files

コピーされたftpスキームファイルをキャッシュから削除するかどうかを指定します。チェックされているとローカルファイルとしてコピー後にそのftpスキームファイルをキャッシュから削除します。エラー等の原因でコピーされなかったftpスキームファイルやコピー対象外のftpスキームファイルは削除されません。チェックされていない場合はコピー後もそのftpスキームファイルを削除しません。

ブラウザを用いてftpサイトよりダウンロードしたファイルを再度ダウンロードすることはあまりないと思いますので、コピーされたftpスキームファイルを削除することでサイズに限りのあるキャッシュを効率的に利用できます。

Delete Local Visited Entries

ローカルファイル(ネットワークドライブ上のファイルも含む)の表示履歴エントリをキャッシュから削除するかどうかを指定します。チェックされているとローカルファイルの表示履歴エントリをキャッシュから削除します。インターネットファイルの表示履歴エントリはブラウザによる閲覧時の外観に影響を与えるため一切削除しません。チェックされていない場合はローカルファイルの表示履歴エントリを削除しません。

進捗表示を行う設定で利用している場合にブラウザのキャッシュが大きいとコピー動作前の情報取得作業に非常に時間がかかるため、無くても大した影響を及ぼさないローカルファイルの表示履歴エントリを削除することで情報取得作業が速くなることがあります。

Exit When Done

本プログラムを自動的に終了するかどうかを指定します。チェックされているとコピー動作完了後に自動的に終了します。チェックされていない場合は終了しません。

オートパイロットを実現するソフトウェア等と組み合わせて利用する場合に選択すると良いでしょう。

Specify Extension

キャッシュからコピーするファイルを更に絞りたい場合にチェックを入れます。チェックされていない場合は指定URL傘下の全ファイルがコピーされますが、チェックされている場合は更に拡張子を指定することでコピーするファイルを絞ることが出来ます。

Specify Extension項目をチェックするとExtension項目とリストボックスが入力できるようになります(チェックされていない場合は入力できません)。拡張子を指定しておくと、その拡張子のファイルだけをコピー或いはその拡張子を持たないファイルだけをコピーすることが出来ます。

指定拡張子のコピー動作は後述のFiles With Above Extensions are...で決まります。

Remove

リストボックスで選択された拡張子をリストボックスから取り除きます。取り除かれた拡張子はExtensionエディットボックスに移動されます。

Extension

リストボックスに追加したい拡張子を入力します。

Add

Extensionエディットボックスに入力されている拡張子をリストボックスに追加します。

Files With Above Extensions are...

前述のSpecify Extension項目の指定によりファイルの絞込みを行う場合に対象拡張子のファイルをどのように処理するかを2つのうちから1つ選んで指定します。

To be Copied

指定した拡張子のファイルだけをコピーします。

Not To be Copied

指定した拡張子を持たないファイルだけをコピーします。

6.コマンドライン(Command Line)

バージョン1.83以降からはコマンドラインオプションを指定して起動できます。-/で始まるコマンドライン引数はオプションの指定です。オプションの指定は-または/の直後に区切らずにキーワードを指定します。アルファベットの大小文字の区別はありません。また-と/の区別はありません。以下のオプションがあります。

-Copy 起動後即座にコピー動作を開始します。設定ダイアログ内で指定できるNo ReportオプションやExit When Doneオプションと組み合わせると良いでしょう。
-NoUI 起動しても何も表示しません。-NoUIを指定すると設定ダイアログ内で指定できるNo ReportオプションやExit When Doneオプションの設定は無視され、両方ともチェックされた状態として処理されます。また-NoUIを指定する場合は同時に-Copyも指定しないと意味がありません。

現在のところオプション以外のコマンドライン引数はエラーとして処理されます。

7.その他(Miscellaneous)

バグレポート等は歓迎いたします。メール等でお知らせください。

8.謝辞(Thanks)

ご協力感謝(^^)

myo氏にはURL Cache Copy Programのバージョンアップにおいてアイデアを頂きました。また公開前の動作確認でもお手伝い頂きました。ありがとうございます(^^)

9.履歴(History)

2001/2/12 v1.83
ブラウザによるFTPもコピーするようにした。
オプションを4つ追加。
コマンドラインオプションを追加。

2001/2/6 v1.82
IE
からリンクをdrag&drop出来るようにした。
ウィンドウをアクティブにした時にクリップボードにURLが入っていればそれをURL項目にペーストするようにした。

2000/7/15 v1.81
オプションを2つ追加。
VC6SP4を適用。

2000/6/9 v1.8a
再度バグフィックス(;_;)

2000/6/6 v1.8
ユーザインタフェースのバグフィックス。

2000/4/10 v1.7
もしキャッシュ中にあればCookieもコピーするようにした。
タイムスタンプの処理を少し修正。
バグフィックス。

2000/2/12 v1.6
SSL
の場合もコピーできるようにした。
バグフィックス。

2000/2/11 v1.5
全ファイルコピーを追加。
更に妙なURL対策。
バグフィックス。

2000/2/5 v1.4
妙なURL対策。

1999/12/31 v1.3
少し改良。

1999/12/24 v1.2
またバグフィックス。日に何度バグフィックスしてるんだ(;_;)
各種オプション追加。

1999/12/24 v1.1
早速バグフィックス()
コピー中の表示を行うようにした。

1999/12/23 v1.0
とりあえず作ってみた。