〔第1の実施の形態〕
本発明の第1の実施の形態について、図3を参照して説明する。図3は、ファイルのコピーや移動に用いられるパーソナルコンピュータ(PC)の一例を示す図である。
このパーソナルコンピュータ(PC)22は、ファイルのコピーや移動の情報処理に用いられる情報処理装置の一例であって、データ処理部としてCPU(Central Processing Unit )24を備えるとともに、メモリ(Memory)26及び入出力ユニット(I/O)28等を備え、これらCPU24、メモリ26及びI/O28は、バス30によって連携されている。
CPU24は、メモリ26に格納された処理プログラム32等の実行により、ファイル情報の比較処理、その比較結果に応じてファイルのコピーや移動等の処理を実行する。メモリ26は、ROM(Read-Only Memory)、RAM(Random-Access Memory)、ハードディスク等の記録媒体によって構成され、処理プログラム32やその他のプログラム等が格納される。処理プログラム32は後述のファイルのコピー、移動又は上書き等の各種の情報処理を実行するためのソフトウェアであって、例えば、ハードディスクに格納されるファイルにインストールされて格納されている。RAMには処理途上のファイル等のデータが一時的に格納される。
ここで、ファイルのコピーは、コピー元のファイルをコピー先のフォルダに複写する処理、ファイルの移動は、ファイルのコピーの後、コピー元のファイルを削除し、コピー先のファイルのみを残す処理、ファイルの上書きは、コピー先に存在するファイル上にコピー元のファイルを重ね書きする処理である。即ち、ファイルのコピーでは、
a コピー先に空ファイルを作成し、
b コピー先の空ファイルにコピー元のファイルの内容を書き込む、
c コピー先ファイルの更新日時をコピー元ファイルの更新日時に合わせる
処理を行う。
また、ファイルの上書きでは、
a コピー先のファイルを削除し、
b コピー先に空ファイルを作成し、
c コピー先の空ファイルにコピー元のファイルの内容を書き込む、
d コピー先ファイルの更新日時をコピー元ファイルの更新日時に合わせる
処理を行い、又は、
e コピー先のファイルを空ファイルに変更し、
f コピー先の空ファイルにコピー元のファイルの内容を書き込む、
g コピー先ファイルの更新日時をコピー元ファイルの更新日時に合わせる
処理を行う。
I/O28には、データやプログラムをCPU24やメモリ26に入力するための入力装置としての機能と、演算結果等を出力する出力装置としての機能とを備えている。そこで、I/O28には、カーソル操作やデータ等の入力に用いるキーボード34が接続されるとともに、ファイル情報や問い合わせメッセージを出力する出力部又は表示部としてディスプレイ36が接続されている。このI/O28には記録媒体として例えば、記憶装置38が接続され、この記憶装置38には1又は複数のファイルが格納され、複数のファイルはフォルダ又はディレクトリに区分されて管理されている。記憶装置38は、PC22の外部に設置される構成としてもよく、装置形態や、記憶形態に限定されない。また、このI/O28は、ネットワークに接続されてデータの送受機能を備えている。
このようなPC22を用いて処理プログラム32を実行させれば、次のような処理が行える。
(1) ファイル情報を比較する。この比較処理として、特定のフォルダ(又はディレクトリ)に存在する単一又は複数のファイルを他のフォルダ(又はディレクトリ)にコピー(又は移動)をする場合、コピー先フォルダに同名のファイルが存在すれば、ファイルの内容を比較する。
(2) ファイル情報の比較要素としてファイルの内容が同一であれば、そのファイルの日時を比較し、日時が相違していれば、コピー先のフォルダに存在するファイルの日時を古い日時にするか新しい日時にするかを問い合わせる。
(3) ファイルの内容が相違していれば、ファイルを上書きするか否かを問い合わせる。
(4) ファイル名を自動変更するか否かを問い合わせる。
(5) ファイル名の変更を選択した場合には、ファイル名の変更の後、ファイルのコピーを行う。
(6) ファイルの内容が同一か否かの比較を行う場合、ファイルサイズによってはその比較に膨大な時間を要する場合が予想される。そこで、ファイルサイズが所定サイズ以上の場合には、その比較を継続するか否かを問い合わせる。この場合、ファイルサイズが所定サイズ以上であるか否かの問い合わせではなく、ファイルの一部(例えば、ファイルの前部)の比較を行い、その一部が同一である場合、その比較を継続するか否かを問い合わせる構成としてもよい。
これらの処理において、既述の問い合わせの処理は、ディスプレイ36にダイアログ(D1〜D9)の表示により実行される。なお、ファイルの移動についても、(1) 〜(6) の処理を行えばよく、コピー元のファイルを消去すれば、ファイル移動となる。
このようなファイル処理により、効率的なファイルのコピー又は移動が行え、効率的なファイル管理が行える。
次に、ファイルのコピー(又は移動)の処理について、図4を参照して説明する。図4は、ファイルのコピー(又は移動)の処理プログラムの一例を示すフローチャートである。
列挙された上記処理は、以下の処理で実行される。
ファイルのコピー(又は移動)の処理が開始されると、ファイル名の比較が行われ、コピー先に同名のファイルがあるか否かの判断が行われ(ステップS101)、同名のファイルがあれば(ステップS101のYES)、ファイル内容の比較が行われ、コピー先のファイルの内容がコピー元のファイルの内容と同一か否かの判断が行われ(ステップS102)、コピー先のファイル内容が同一であれば(ステップS102のYES)、ファイルの日時の比較が行われ、コピー先のファイルの日時がコピー元のファイルの日時と同一か否かの判断が行われ(ステップS103)、ファイルの日時が同一であれば(ステップS103のYES)、コピー先のファイルとコピー元のファイルが完全に一致することになる。
この場合、ファイルの移動か否かの判断を行い(ステップS104)、ファイルの移動であれば(ステップS104のYES)、コピー元のファイルを消去し(ステップS105)、この処理を終了する。また、ファイルの移動でない場合には(ステップS104のNO)、この処理を終了する。
また、この処理において、コピー先に同名のファイルがなければ(ステップS101のNO)、そのファイルの相手先フォルダへのコピーが実行される(ステップS106)。コピーは既述した通り、例えば、コピー先フォルダに空ファイルを作成し、そのファイルにコピー元のファイルを上書きすることにより実行される。この場合も、ファイルの移動か否かを判断し(ステップS104)、ファイルの移動でないならば(ステップS104のNO)、この処理を終了させ、ファイルの移動であるならば(ステップS104のYES)、コピー元のファイルを消去し(ステップS105)、この処理を終了する。
また、コピー先に同名のファイルがあって、そのファイルの内容が異なっていれば(ステップS102のNO)、ファイル名の変更処理(図5)が実行され(ステップS107)、ファイルのコピーが実行され(ステップS108)、ステップS104に移行する。また、コピー先のファイルの日時が異なれば(ステップS103のNO)、日時の変更処理(図7)が実行され(ステップS109)、ステップS104に移行する。
次に、ファイル名の変更(図4のステップS107)について、図5及び図6を参照して説明する。図5は、ファイル名の変更処理を示すフローチャート、図6は、ファイル名の変更を伴う上書きの確認を表すダイアログの一例を示す図である。
この処理は、コピー元のファイル名とコピー先のファイル名が一致しているが、内容が異なることから、ファイル名を変更して内容の異なるファイルの双方を保存することを意図している。そこで、ファイル名の変更処理では、図6に示すダイアログD1が表示され、ユーザに入力選択を促す(ステップS121)。このダイアログD1には、コピー先のフォルダに内容の異なる同名ファイルが存在した場合のファイル情報及び問い合わせメッセージ等が表示される。即ち、このダイアログD1には、ファイル情報として、タイトルバー204に「ファイルの上書きの確認」が表示され、ファイルコピー又はファイル移動の処理を表すアイコン206、ファイルを表すアイコン208、210とともに、「このフォルダには既に内容の異なる‘patent.doc’ファイルが存在します。」、そのファイルサイズ及び更新日時として、例えば、
「現在のファイル
19.0 KB
更新日時:2004年7月21日、17:20:00
に次の新しいファイルを上書きしますか?
19.0 KB
更新日時:2004年7月21日、15:30:00」
が表示され、応答入力のためのアイコン212、214、216、218、222、224、226が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン214には肯定入力を表す「今後すべてはい(A)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン222には変更内容を表す「現在のファイル名を変更(R)」、アイコン224には変更内容を表す「新しいファイル名を変更(T)」、アイコン226には変更内容としてファイル名の自動変更を表す「今後すべて古い更新日時のファイル名を自動変更(O)」、アイコン218には処理の中止入力を表す「キャンセル」が表示されている。
ダイアログD1において、「いいえ(N)」の選択の判断(ステップS122)、「いいえ(N)」が選択されなかったならば(ステップS122のNO)、「はい(Y)」の選択の判断(ステップS123)、「はい(Y)」が選択されなかったならば(ステップS123のNO)、「今後すべてはい(A)」の選択の判断(ステップS124)、「今後すべてはい(A)」が選択されなかったならば(ステップS124のNO)、「現在のファイル名を変更(R)」の選択の判断(ステップS125)、「現在のファイル名を変更(R)」が選択されなかったならば(ステップS125のNO)、「新しいファイル名を変更(T)」の選択の判断(ステップS126)、「新しいファイル名を変更(T)」が選択されなかったならば(ステップS126のNO)、「今後すべて古い更新日時のファイル名を自動変更(O)」の選択の判断(ステップS127)、「今後すべて古い更新日時のファイル名を自動変更(O)」が選択されなかったならば(ステップS127のNO)、「キャンセル」の選択の判断(ステップS128)、「キャンセル」が選択されれば(ステップS128のYES)、ステップS107(図4)に戻る。
また、ダイアログD1において、「いいえ(N)」が選択されたならば(ステップS122のYES)、ステップS107(図4)に戻る。また、ダイアログD1において、「はい(Y)」が選択されれば(ステップS123のYES)、現在のファイルに次の新しいファイルを上書きし(ステップS129)、ファイルの移動か否かを判断し(ステップS130)、ファイルの移動であれば(ステップS130のYES)、コピー元のファイルを消去し(ステップS131)、この処理を終了する。また、ファイルの移動でなければ(ステップS130のNO)、上書きの後、この処理を終了する。
また、「今後すべてはい(A)」が選択されれば(ステップS124のYES)、現在のファイルに次の新しいファイルを上書きし(ステップS132)、ステップS130に移行する。
また、ダイアログD1において、「現在のファイル名を変更(R)」が選択されれば(ステップS125のYES)、現在のファイル名を変更し(ステップS133)、また、「新しいファイル名を変更(T)」が選択されれば(ステップS126のYES)、新しいファイル名を変更し(ステップS134)、また、「今後すべて古い更新日時のファイル名を自動変更(O)」が選択されれば(ステップS127のYES)、今後すべて古い更新日時のファイル名を自動変更し(ステップS135)、ステップS107(図4)に戻る。
ここで、ファイル名の自動変更とは、更新日時の古いファイルのファイル名を例えば、「patent.doc」とすれば、例えば、「patent−040721.doc」等にリネームする処理であり、この場合、仮に、「patent−040721.doc」が存在すれば、「patent−040721−1.doc 」のようにリネームすればよい。斯かるファイル名の変更は任意である。
次に、ファイルの日時の変更(図4のステップS109)について、図7及び図8を参照して説明する。図7は、ファイルの日時の変更処理を示すフローチャート、図8は、ファイルの更新日時変更の確認のためのダイアログの一例を示す図である。
ファイルの日時の変更処理では、ダイアログD2(図8)が表示される(ステップS1091)。このダイアログD2には、コピー先のフォルダにファイル内容が一致している同名ファイルが存在した場合のファイル情報及び問い合わせメッセージ等が表示される。即ち、このダイアログD2には、図8に示すように、ファイル情報として、タイトルバー204に「ファイルの更新日時変更の確認」が表示され、ファイルコピー又はファイル移動の処理を表すアイコン206、ファイルを表すアイコン208、210とともに、「このフォルダには既に‘patent.doc’ファイルが存在しますが内容は一致しています。」、そのファイルサイズ及び更新日時として、例えば、
「現在のファイル
19.0 KB
更新日時:2004年7月21日、17:20:00
を次の新しいファイルの更新日時に変更しますか?
19.0 KB
更新日時:2004年7月21日、15:30:00」
が表示され、応答入力のためのアイコン212、214、216、218が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン214には肯定入力を表す「今後すべてはい(A)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」が表示されている。
ダイアログD2において、「いいえ(N)」の選択の判断(ステップS1092)、「いいえ(N)」が選択されなかったならば(ステップS1092のNO)、「はい(Y)」の選択の判断(ステップS1093)、「はい(Y)」が選択されなかったならば(ステップS1093のNO)、「今後すべてはい(A)」の選択の判断(ステップS1094)、「今後すべてはい(A)」が選択されなかったならば(ステップS1094のNO)、「キャンセル」の選択の判断(ステップS1095)、「キャンセル」が選択されたならば(ステップS1095のYES)、ステップS109(図4)に戻る。
また、ダイアログD2において、「いいえ(N)」が選択されたならば(ステップS1092のYES)、ステップS109(図4)に戻る。また、ダイアログD2において、「はい(Y)」が選択されたならば(ステップS1093のYES)、現在のファイルを次の新しいファイルの更新日時に変更し(ステップS1096)、ステップS109(図4)に戻る。また、ダイアログD2において、「今後すべてはい(A)」が選択されたならば(ステップS1094のYES)、今後すべて現在のファイルを次の新しいファイルの更新日時に変更し(ステップS1097)、ステップS109(図4)に戻る。
次に、他の、ファイルの日時の変更(図4のステップS109)について、図9及び図10を参照して説明する。図9は、ファイルの他の日時の変更処理を示すフローチャート、図10は、ファイルの更新日時変更の確認のための他のダイアログを示す図である。
ファイルの日時の変更処理では、図10に示すダイアログD3が表示される(ステップS2091)。このダイアログD3には、コピー先のフォルダにファイル内容が一致している同名ファイルが存在した場合のファイル情報及び問い合わせメッセージ等が表示される。即ち、このダイアログD3には、ファイル情報として、タイトルバー204に「ファイルの更新日時変更の確認」が表示され、ファイルコピー又はファイル移動の処理を表すアイコン206、ファイルを表すアイコン208、210とともに、「このフォルダには既に‘patent.doc’ファイルが存在しますが内容は一致しています。」、そのファイルサイズ及び更新日時として、例えば、
「現在のファイル
19.0 KB
更新日時:2004年7月21日、17:20:00
を次の新しいファイルの更新日時に変更しますか?
19.0 KB
更新日時:2004年7月21日、15:30:00」
が表示され、応答入力のためのアイコン212、214、216、218、228、230が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン214には肯定入力を表す「今後すべてはい(A)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」が表示され、アイコン228には「今後すべて新しい更新日時に変更(L)」、アイコン230には「今後すべて古い更新日時に変更(O)」が表示されている。
ダイアログD3において、「いいえ(N)」の選択の判断(ステップS2092)、「いいえ(N)」が選択されなかったならば(ステップS2092のNO)、「はい(Y)」の選択の判断(ステップS2093)、「はい(Y)」が選択されなかったならば(ステップS2093のNO)、「今後すべてはい(A)」の選択の判断(ステップS2094)、「今後すべてはい(A)」が選択されなかったならば(ステップS2094のNO)、「今後すべて新しい更新日時に変更(L)」の選択の判断(ステップS2095)、「今後すべて新しい更新日時に変更(L)」が選択されなかったならば(ステップS2095のNO)、「今後すべて古い更新日時に変更(O)」の選択の判断(ステップS2096)、「今後すべて古い更新日時に変更(O)」が選択されなかったならば(ステップS2096のNO)、「キャンセル」の選択の判断(ステップS2097)、「キャンセル」が選択されたならば(ステップS2097のYES)、ステップS109(図4)に戻る。
また、ダイアログD3において、「いいえ(N)」が選択されたならば(ステップS2092のYES)、ステップS109(図4)に戻る。また、ダイアログD3において、「はい(Y)」が選択されたならば(ステップS2093のYES)、更新日時を変更し(ステップS2098)、ステップS109(図4)に戻る。また、ダイアログD3において、「今後すべてはい(A)」が選択されたならば(ステップS2094のYES)、すべての更新日時を変更し(ステップS2099)、ステップS109(図4)に戻る。
また、ダイアログD3において、「今後すべて新しい更新日時に変更(L)」が選択されれば(ステップS2095のYES)、今後すべて新しい更新日時に変更する(ステップS2100)。また、「今後すべて古い更新日時に変更(O)」が選択されれば(ステップS2096のYES)、今後すべて古い更新日時に変更する(ステップS2101)。
なお、斯かる処理から明らかなように、コピー先のフォルダに内容及び更新日時が一致する同名のファイルが存在した場合、コピー処理を行う必要はなく、ファイルの移動の場合には、移動元のファイルを消去することになる。
次に、ファイル内容の比較について、図11及び図12を参照して説明する。図11は、ファイル内容の比較処理にファイルサイズを参照する処理を示すフローチャート、図12は、ファイルサイズに関する処理を表すダイアログの一例を示す図である。
既述した通り、ファイル内容の比較はファイルサイズの比較により一部代用することが可能である。ファイル内容の比較(図4のステップS102)において、ファイルサイズを参照する処理では、ファイルサイズが同一であるか否かを判断し(ステップS1021)、ファイルサイズが同一であれば(ステップS1021のYES)、ファイルサイズが所定サイズ以上か否かを判断し(ステップS1022)、所定サイズ以上であれば(ステップS1022のYES)、図12に示すダイアログD4を表示する(ステップS1023)。
ダイアログD4では、ファイル情報及び比較処理の続行問い合わせとして、「ファイルサイズが××MB以上です。ファイルの最後まで比較しますか?」が表示されるとともに、その肯定入力「はい(Y)」を表すアイコン212、その否定入力「いいえ(N)」を表すアイコン216、処理の中止入力「キャンセル」を表すアイコン218が表示される。
そこで、ダイアログD4において、「いいえ(N)」の選択の判断(ステップS1024)、「いいえ(N)」が選択されなければ(ステップS1024のNO)、「はい(Y)」の選択の判断(ステップS1025)、「はい(Y)」が選択されなければ(ステップS1025のNO)、「キャンセル」の選択の判断(ステップS1026)、「キャンセル」が選択されたならば(ステップS1026のYES)、図4のステップS102に戻る。
ファイルサイズが所定サイズ以上でなければ(ステップS1022のNO)、比較処理を続行し(ステップS1027)、比較処理が終了したか否かを判断し(ステップS1028)、比較処理が終了すれば、図4のステップS102に戻り、ステップS103に移行する。また、ダイアログD4において、「いいえ(N)」が選択されれば(ステップS1024のYES)、図4のステップS102に戻り、また、「はい(Y)」が選択されれば(ステップS1025のYES)、ステップS1027に移行し、比較処理が続行され、比較処理の終了により、図4のステップS103に移行する。
〔第2の実施の形態〕
本発明の第2の実施の形態について、図13、図14、図15及び図16を参照して説明する。図13、図14、図15及び図16は、複数のファイルのコピーの処理プログラムを示すフローチャートである。図13、図14、図15又は図16において、符号A、B、C、D、E、Fは、フローチャート間の連結を表す連結子である。
この第2の実施の形態においては、既述のPC22(図3)が用いられる。その詳細は、既述の通りである。
ファイルのコピー処理を示す図13のフローチャートにおいて、この場合、m=コピー元のファイル数、n=1、c=0及びd=0の条件が設定されている(ステップS301)。ここで、mはコピー元のファイル数であるが、これはファイルの処理数を意味する。nは、このmに対し、現在何個目のファイルを処理しようとしているのかを表す変数である。この場合、n=1により、nは初期値1から処理を開始し、処理の完了毎に、n=n+1によりnに1を加算し、n>mにより、処理が完了する。
また、cは例えば、ダイアログD3(図10)において、アイコン214で「今後すべてはい(A)」を選択したことがあるかないかを表す変数であり、初期値=0(=選択したことがない)である。
また、dは選択操作を表す変数であって、この場合、初期値=0とし、例えば、ダイアログD3において、「今後すべてはい(A)」(アイコン214)が選択されたことをd=1、「今後すべて古い更新日時に変更(O)」(アイコン230)が選択されたことをd=2、「今後すべて新しい更新日時に変更(L)」(アイコン228)が選択されたことをd=3に設定することにより、対応するアイコン214、230、228の選択を表す。
この場合、初期値として、n=1、c=0、d=0が設定されており(ステップS301)、mとnとの比較が行われ(ステップS302)、n>mであるならば(ステップS302のYES)、ファイル数mを処理数nが超えており、すべての処理が完了しているので、この処理を終了する。また、n>mでなければ(ステップS302のNO)、同名ファイルの比較処理に移行する。
n<mであれば(ステップS302のNO)、ファイル名の比較を行い、コピー元のn個目のファイルと同名のファイルがコピー先のフォルダにあるか否かを判断する(ステップS303)。
同名のファイルがコピー先のフォルダにあれば(ステップS303のYES)、ファイル内容の比較を行い、コピー元のn個目のファイルとコピー先の同名のファイルの内容が一致しているか否かを判断する(ステップS304)。
コピー元のn個目のファイルとコピー先の同名のファイルの内容が一致していれば(ステップS304のYES)、ファイルの日時を比較し、コピー元のn個目のファイルとコピー先の同名ファイルの日時が一致しているか否かを判断する(ステップS305)。
コピー元のn個目のファイルとコピー先の同名ファイルの日時が相違していれば(ステップS305のNO)、d=0であるか否かを判断し(ステップS306)、d=0であれば(ステップS306のYES)、ディスプレイ36にダイアログD3(図10)を表示させ、ユーザからの入力を待つ(ステップS307)。
ダイアログD3の入力について、「いいえ(N)」(アイコン216)が選択されたか否か(ステップS308)、「はい(Y)」(アイコン212)が選択されたか否か(ステップS309)、「今後すべてはい(A)」(アイコン214)が選択されたか否か(ステップS310)、「今後すべて古い更新日時に変更(O)」(アイコン230)が選択されたか否か(ステップS311)、「今後すべて新しい更新日時に変更(L)」(アイコン228)が選択されたか否か(ステップS312)の判断を行い、これらいずれもが選択されなかった場合には、処理の中止を意味するので、この処理を終了する。
斯かる処理のダイアログD3(図10)の入力処理において、「今後すべてはい(A)」(アイコン214)が選択されたならば(ステップS310のYES)、dに1を設定し(ステップS313)、「今後すべて古い更新日時に変更(O)」(アイコン230)が選択されたならば(ステップS311のYES)、dに2を設定し(ステップS314)、「今後すべて新しい更新日時に変更(L)」(アイコン228)が選択されたならば(ステップS312のYES)、dに3を設定する(ステップS315)。
次に、図14に示すフローチャートについて説明する。図14に示すフローチャートにおいて、コピー元のn個目のファイルと同名のファイルがコピー先のフォルダになければ(ステップS303のNO)、コピー元のn個目のファイルをコピー先のフォルダにコピーし(ステップS316)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
また、d=0でない場合(ステップS306のNO)、また、ステップS313、S314、S315でd=1、d=2、d=3が設定された場合には、ステップS318に移行する。ステップS318では、d=1であるか否かを確認し、d=1であれば(ステップS318のYES)、コピー元のn個目のファイルをコピー先のフォルダにコピーし(ステップS316)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
d=1でなければ(ステップS318のNO)、コピー元のファイルがコピー先より新しいか否かを確認し(ステップS319)、コピー先より新しければ(ステップS319のYES)、d=2であるか否かを確認し(ステップS320)、d=2であれば(ステップS320のYES)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。また、d=2でなければ(ステップS320のNO)、コピー元のn個目のファイルと同名のファイルの日時をコピー元のファイルと同一日時に更新し(ステップS321)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
また、コピー元のファイルがコピー先より古ければ(ステップS319のNO)、d=2であるか否かを確認し(ステップS322)、d=2であれば(ステップS322のYES)、コピー元のn個目のファイルと同名のファイルの日時をコピー元のファイルと同一日時に更新し(ステップS321)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。また、d=2でなければ(ステップS322のNO)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
また、ファイルの日時を比較し、コピー元のn個目のファイルとコピー先の同名ファイルの日時が一致していれば(ステップS305のYES)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
また、ダイアログD3(図10)の「いいえ(N)」が選択されれば(ステップS308のYES)、同様に、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
また、ダイアログD3(図10)の「はい(Y)」が選択されれば(ステップS309のYES)、同様に、コピー元のn個目のファイルと同名のファイルの日時をコピー元のファイルと同一日時に更新し(ステップS321)、現在のnに1を加え即ち、n=n+1の処理を実行し(ステップS317)、図13のメインルーチンに戻る(ステップS302)。
次に、図15に示すフローチャートについて説明する。図13に示すフローチャートにおいて、コピー元のn個目のファイルとコピー先の同名のファイルの内容が相違していれば(ステップS304のNO)、c=0であるか否かを確認し(ステップS323)、c=0であれば(ステップS323のYES)、図6のダイアログD1を表示し、ユーザの入力を待つ(ステップS324)。
ダイアログD1の入力について、「いいえ(N)」(アイコン216)が選択されたか否か(ステップS325)、「はい(Y)」(アイコン212)が選択されたか否か(ステップS326)、「今後すべてはい(A)」(アイコン214)が選択されたか否か(ステップS327)、「現在のファイル名を変更(R)」(アイコン222)が選択されたか否か(ステップS328)、「新しいファイル名を変更(T)」(アイコン224)が選択されたか否か(ステップS329)、「今後すべて古い更新日時のファイル名を自動変更(O)」(アイコン226)が選択されたか否か(ステップS330)の判断を行い、これらいずれもが選択されなかった場合には、処理の中止を意味するので、この処理を終了する。
c=0でなければ(ステップS323のNO)、c=1であるか否かを確認し(ステップS331)、c=1でなければ、即ち、c=2であれば(ステップS331のNO)、コピー先又はコピー元のファイルの更新日時の古い方のファイル名を自動変更し(ステップS332)、ステップS316(図14)に移行する。c=1であれば(ステップS331のYES)、ステップS316(図14)に移行する。
ダイアログD1の入力について、「いいえ(N)」が選択されたならば(ステップS325のYES)、ステップS317(図14)に移行し、「はい(Y)」が選択されたならば(ステップS326のYES)、ステップS321(図14)に移行する。また、「今後すべてはい(A)」が選択されたならば(ステップS327のYES)、cに1を設定し(ステップS333)、ステップS318(図14)に移行する。
また、「現在のファイル名を変更(R)」が選択されたならば(ステップS328のYES)、コピー先のファイル名を変更し(ステップS334)、ステップS316(図14)に移行し、「新しいファイル名を変更(T)」が選択されたならば(ステップS329のYES)、コピー先のファイル名を変更し(ステップS335)、ステップS316(図14)に移行する。また、「今後すべて古い更新日時のファイル名を自動変更(O)」が選択されたならば(ステップS330のYES)、dに2を設定し(ステップS336)、コピー先又はコピー元のファイルの更新日時の古い方のファイル名を自動変更し(ステップS332)、ステップS316(図14)に移行する。
ところで、cは最初に0に初期化されるので(c=0)、コピー元のn個目のファイルとコピー先の同名のファイルの内容が一致していない場合には(ステップS304のNO)、ダイアログD1(図6)が表示される。このダイアログD1において、「今後すべてはい(A)」のアイコン214が選択されない場合には、c=0が維持されるので、2回目以降の処理でも、コピー元のn個目のファイルとコピー先の同名のファイルの内容が一致していない場合には、ダイアログD1が表示される。
また、ダイアログD1において、「今後すべてはい(A)」のアイコン214が選択されると、c=1に変更されるので、2回目以降はc≠0(ステップS323のNO)となり、ダイアログD2の表示はなく、ステップS331を経てコピー処理に移行する。
また、ステップS331において、c=2の場合(ステップS331のNO)では、ダイアログD1において、「今後すべて古い更新日時のファイル名を自動変更(O)」のアイコン226が選択された場合である。この場合、ファイル名が同一で内容の異なるファイルはダイアログD1を表示することなく、古い更新日時のファイル名が自動変更されることになる(ステップS332)。
この実施の形態において、ファイルを移動させる場合には例えば、図16に示すように、ステップS316とステップS317との間にステップS337を設定し、ファイルの移動の場合にはコピー元のファイルを消去する処理を実行する構成とすればよい。
〔第3の実施の形態〕
次に、本発明の第3の実施の形態について、図17、図18、図19及び図20を参照して説明する。図17は、単一のファイルのコピーの処理プログラムを示すフローチャート、図18は、判断処理1〜4に対応する各ケースのファイル処理を示す図、図19は、ファイル名の変更処理を示すフローチャート、図20は、ファイルのコピー処理プログラムの変形例を示すフローチャートである。
この第3の実施の形態においては、既述のPC22(図3)が用いられる。その詳細は、既述の通りである。
この処理では、既述の処理(図13〜図16)が複数のファイルのコピー処理を表していたのに対し、その基本形の処理手順として、単一のファイルのコピー処理を示しており、コピー先にコピー元と同名のファイルが存在し、ファイル内容が一致している場合、コピー先のファイル更新日時が新しければ、コピー先のファイル更新日時をコピー元のファイル更新日時に一致させる処理を含んでいる。この実施の形態では、ダイアログの表示は省略している。
(同名ファイルの判断処理:判断処理1)
コピー先フォルダにコピー元ファイルと同名のファイルがあるか否かの判断が行われる(ステップS341)。
(ファイル内容の判断処理:判断処理2)
同名のファイルがあれば(ステップS341のYES)、ファイルの比較処理を行い、コピー元のファイルとコピー先のファイルの内容が一致しているか否かの判断が行われる(ステップS342)。
(ファイルの更新日時の一致不一致の判断処理:判断処理3)
ファイルの内容が一致していれば(ステップS342のYES)、コピー元のファイルとコピー先のファイルの更新日時が一致しているか否かの判断が行われ(ステップS343)、各ファイルの更新日時が一致していれば(ステップS343のYES)、この処理を終了する。
(更新日時の判断処理:判断処理4)
各ファイルの更新日時が一致していなければ(ステップS343のNO)、コピー先のファイルの更新日時の方が新しいか否かの判断が行われる(ステップS344)。
コピー先のファイルの更新日時の方が古ければ(ステップS344のNO)、この処理を終了する。また、コピー先のファイルの更新日時の方が新しければ(ステップS344のYES)、コピー先ファイルの更新日時をコピー元ファイルの更新日時に一致させ(ステップS345)、この処理を終了する。
また、コピー先フォルダにコピー元ファイルと同名のファイルがなければ(ステップS341のNO)、コピー元のファイルをコピー先のフォルダにコピーし(ステップS346)、この処理を終了する。
コピー元のファイルとコピー先のファイルの内容が一致していなければ(ステップS342のNO)、コピー先のファイルの更新日時がコピー元のファイルより古いか否かの判断が行われ(ステップS347)、コピー先のファイルの更新日時の方が古ければ(ステップS347のYES)、コピー先ファイルのファイル名を変更し(ステップS348)、コピー元のファイルをコピー先のフォルダにコピーし(ステップS349)、この処理を終了する。また、コピー先のファイルの更新日時の方が新しければ(ステップS347のNO)、コピー元のファイル名を変更し(ステップS350)、コピー元のファイルをコピー先フォルダにコピーし(ステップS351)、この処理を終了する。
なお、この単一のファイルのコピー処理において、コピー先にコピー元と同名のファイルが存在し、内容が不一致であれば、更新日時の古い方のファイル名を変更してからコピーを行う構成としてもよく、ファイル名の変更処理は、マニュアル処理でも自動処理のいずれでもよい。
次に、既述の判断処理1〜4について、図18を参照して説明する。図18は、判断処理1〜4に対応する各ケースのファイル処理を示す図である。
コピー元フォルダのファイル名を例えば、「abc.jpg-」とすると、次のようなケースが想定される。
(ケース1)
ケース1は、図18Aに示すように、コピー先のフォルダにファイル名「abc.jpg-」のファイルがない場合である。
このケース1では、判断処理1(ステップS341)で「NO」となり、コピー元のファイルがコピー先フォルダにコピーされる(ステップS346)。ここで、「コピーする」とは、ファイルの存在をコピー先のフォルダに生成させ、ファイルの内容はコピー元と同一にし、ファイルの更新日時もコピー元のファイルと同一にする処理動作である。
(ケース2)
ケース2は、図18Bに示すように、コピー先のフォルダにファイル名「abc.jpg-」のファイルが存在し、そのファイル内容がコピー元のファイルと異なる場合である。即ち、ケース2は、判断処理1(ステップS341)において「YES」の場合である。
ケース2では、コピー先のフォルダにファイル名「abc.jpg-」のファイルがあるため、ファイルの内容の比較処理(判断処理2:ステップS342)を行う。ファイルの内容の同一性チェックに先立ち、ファイルサイズの比較を行い、ファイルサイズが異なれば、ファイル内容が異なる(不一致)ファイルと判断、ファイルサイズが同一である場合にはファイル内容の比較を行う。この場合、各ファイルの内容を先頭より例えば、1バイト単位で比較し、1バイトでも異なる部分が存在すれば、ファイル内容が相違すると判断する。
ファイル内容が不一致であれば(ステップS342のNO)、コピー先のファイルの更新日時がコピー元より古いか否かの判断をし、コピー先又はコピー元のファイル名を変更する。即ち、ファイル名を自動的に変更した上でファイルのコピーを行い、両ファイルをコピー先のフォルダに残す処理をする。ファイル名の変更は更新日時の古い方のファイル名を例えば、「abc −20050602−1450.jpg」に変更する。
ファイル名を変更する際、変更しようとするファイル名と同一のファイル名が既に存在している場合は、既に存在しているファイルの内容の比較を行い、同一内容の場合には、コピーを行わない。同一でない場合は、同一の日時に別のファイルが作成されていたものとし、ファイル名として例えば、「abc −20050602−1450a.jpg −」に変更してもよいし、消去してもよい。消去する場合には所定時間として例えば、1分以内の範囲に内容の異なる同名のファイルが2つ生成され、且つコピーしようとしているファイルより古いものであるから、どちらか1つを残せば一般的には十分である。
(ケース3)
ケース3は、図18Cに示すように、コピー先のフォルダにファイル名「abc.jpg-」のファイルが存在し、そのファイル内容及び更新日時の双方がコピー元のファイルと一致している場合である。
この場合、コピー元のファイルとコピー先のファイルは完全に一致していると判断でき、コピー処理を行っても意味がないので、コピー処理は行わずに終了する。
(ケース4及びケース5)
ケース4は、図18Dに示すように、コピー先のフォルダにファイル名「abc.jpg-」のファイルが存在し、そのファイル内容がコピー元のファイルと一致しているが、コピー先のファイルの更新日時が古い場合である。
また、ケース5は、図18Eに示すように、コピー先のフォルダにファイル名「abc.jpg-」のファイルが存在し、そのファイル内容がコピー元のファイルと一致しているが、コピー先のファイルの更新日時が新しい場合である。
このようなケース4、5では、コピー元とコピー先にファイル内容が同一で更新日時が異なるファイルが存在する場合を想定している。PC22内でのファイルのコピー処理では、このようなファイルの作成は想定し得ないことではあるが、-e-mail の添付ファイルや http-サーバから取り込んだファイルはその更新日時がPC22に取り込んだ時点となるので、PC22内に更新日時のみ異なる同一名のファイルが生成されることが予想される。更新日時が異なる同一ファイルを別ファイルとしてハードディスクに格納しておくことは記憶容量の無駄になるので、同一ファイルとして扱う。
また、同一内容のファイルで更新日時が新旧の場合には、いずれかのファイルをオリジナルであると仮定する手法として、更新日時が古い方をオリジナルとすればよい。コピー元のファイル又はコピー先のファイルのどちらかがオリジナルと仮定すれば、オリジナル側の更新日時のものを残せばよい。そこで、判断処理4(ステップS344)では、コピー先に存在するファイルを新しいと判断した場合には、コピー先のファイルの更新日時をコピー元のファイルの更新日時に変更する(ステップS345)。
次に、ファイル名の変更処理(図17のステップS348)について、図19を参照して説明する。図19は、ファイル名の変更処理を示すフローチャートである。
コピー先に存在するファイルのファイル名と更新日時とからファイル名(新ファイル名)を生成する(ステップS4801)。この場合、新ファイル名は、更新日時情報を識別に利用している。コピー先に存在するファイル名が例えば、「-abc.jpg」とし、そのファイルの更新日時が「2005年5月31日17時30分」とすれば、新ファイル名として例えば、「-abc−20050531−1730.jpg」を生成する。即ち、更新日時を加味させたファイル名の更新である。
生成したファイル名のファイルがコピー先のフォルダに既にあるか否かの判断をし(ステップS4802)、生成したファイル名のファイルがコピー先のフォルダに既にあるならば(ステップS4802のYES)、生成したファイル名のファイルとコピー先ファイルの内容が同一か否かを判断する(ステップS4803)。
生成したファイル名のファイルとコピー先ファイルの内容が相違するならば(ステップS4803のNO)、ファイル名のサフィックスの追加又は更新等により、ファイル名の候補を生成し(ステップS4804)、ステップS4802に戻る。
ステップS4804のファイル名の生成処理では、同一のファイル名が例えば、「-abc−20050531−1730.jpg」であるとすれば、サフィックス「a」を追加した例えば、「-abc−20050531−1730a.jpg-」という候補を生成し、この候補名を検索した結果、これが存在している場合には、サフィックス「a」をサフィックス「b」に変更したファイル名として例えば、「-abc−20050531−1730b.jpg-」を生成し、この候補名を検索した結果、存在していなければ、これを新ファイル名として生成する。
生成したファイル名のファイルがコピー先のフォルダになければ(ステップS4802のNO)、コピー先のファイルを生成したファイル名に変更し(ステップS4805)、この処理を終了し、ステップS348(図17)に戻る。
生成したファイル名のファイルとコピー先フォルダに存在するファイルの内容が同一であるならば(ステップS4803のYES)、コピー先のファイルを消去し(ステップS4806)、この処理を終了し、ステップS348(図17)に戻る。ファイルの消去は、無意味な同名及び同一内容のファイルを消去することにより、記憶媒体の記憶容量の軽減に資する。
ところで、斯かるファイル処理の一例について、具体例を参照して説明する。前提として、コピー元ファイル名が例えば、「abc.jpg-」、コピー先にファイル内容の異なるファイル名「abc.jpg-」及び「abc −20050531−1780.jpg」というファイルが存在するものとする。先ず、コピー元のファイル「abc.jpg-」をコピー先のフォルダにコピーする場合、コピー先には内容の異なる別のファイル「abc.jpg-」が存在する。ファイルの内容が異なるので、双方を保存したい。
このような場合、コピー先のファイルを変更するため、新ファイル名を生成する。この例ではファイル名として「abc −20050531−1780.jpg」を生成し、コピー先に生成したファイル名と同名のファイルが存在していなければ、コピー先のファイル名「abc.jpg-」をファイル名「abc −20050531−1780.jpg」に変更してからコピー元のファイル名「abc.jpg-」をコピー先にコピーすれば、コピー処理は完了する。
ここで、コピー先のファイル「abc.jpg-」をファイル「abc −20050531−1780.jpg」に変更しようとした場合、コピー先には同一のファイル名「abc −20050531−1780.jpg」で別のファイル(ファイル内容が同一であるか否かは不明)が存在していると、コピー先に存在していたファイル名「abc.jpg-」のファイルと、ファイル名「abc −20050531−1780.jpg」のファイルの内容が同一であるか否かが問題となる。両ファイルの内容が一致している場合には、コピー先に存在するファイル名「abc.jpg-」のファイルを消去しても、ファイル名「abc −20050531−1780.jpg」として同一内容のファイルが残り、保存されるので、何らの問題はない。コピー先にあるファイル名「abc.jpg-」のファイルを消去する。その後、コピー元のファイル名「abc.jpg-」のファイルをコピー先にファイル名「abc.jpg-」のファイルに上書きコピーする。ファイルの内容が一致していない場合には、コピー元のファイル名「abc.jpg-」のファイルもコピー先のファイル名「abc.jpg-」のファイルもファイル名「abc −20050531−1780.jpg」のファイルも残したい要望がある。そこで、コピー先のファイル名「abc.jpg-」のファイルを「abc −20050531−1780a.jpg-」のようにサフィックス(拡張文字)を付けたファイル名を生成させ、重複しないファイル名、重複したファイル名では、ファイル内容が全く同一であるという状態になるまで処理を繰り返し、ファイル名とファイル内容とを整理する。
この実施の形態において、ファイル移動であれば例えば、図20に示すように、ステップS346の後にステップS352を設定し、コピー元のファイルを消去する処理を実行する構成とすればよい。また、ステップS349又はステップS351の後にステップS353、S354を設置し、同様に、コピー元のファイルを消去する処理を実行する構成とすればよい。
〔第4の実施の形態〕
次に、本発明の第4の実施の形態について、図21、図22及び図23を参照して説明する。図21は、単一のファイルのコピーの処理プログラムを示すフローチャート、図22及び図23は、ファイルの更新日時変更の確認に用いるダイアログの一例を示す図である。図21において、図17又は図20のフローチャートと同一部分には同一符号を付し、その説明を省略する。
この第4の実施の形態においても、既述のPC22(図3)が用いられる。その詳細は、既述の通りである。
図17に示す単一のファイルのコピー処理において、ダイアログを表示してユーザに処理の選択をさせる場合には、図21に示すように、ステップS345の前段にステップS355を設定し、ダイアログD5(図22)を表示し、ファイルの更新日時変更の確認をするように構成してもよい。
この場合、ダイアログD5には、図22に示すように、ファイル情報として、タイトルバー204に「ファイルの更新日時変更の確認」が表示され、ファイルコピー又はファイル移動の処理を表すアイコン206、ファイルを表すアイコン208、210とともに、「このフォルダには既に‘patent.doc’ファイルが存在しますが内容は一致しています。」、そのファイルサイズ及び更新日時として、例えば、
「現在のファイル
19.0 KB
更新日時:2004年7月21日、17:20:00
を次の新しいファイルの更新日時に変更しますか?
19.0 KB
更新日時:2004年7月21日、15:30:00」
が表示され、応答入力のためのアイコン212、216、218が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」が表示されている。
このようなダイアログD5(図22)からの選択入力により、ファイルの更新日時の変更の可否の確認の後、ステップS345(図21)に戻る。
ところで、図17に示す単一のファイルのコピー処理において、ステップS345の前段にステップS355を設定した場合、ダイアログD6(図23)を表示し、ファイルの更新日時変更の確認をするように構成してもよい。
この場合、ダイアログD6には、図23に示すように、ファイル情報として、タイトルバー204に「ファイルの更新日時変更の確認」が表示され、ファイルコピー又はファイル移動の処理を表すアイコン206、ファイルを表すアイコン208、210とともに、「このフォルダには既に‘patent.doc’ファイルが存在しますが内容は一致しています。」、そのファイルサイズ及び更新日時として、例えば、
「現在のファイル
19.0 KB
更新日時:2004年7月21日、17:20:00
を次の新しいファイルの更新日時に変更しますか?
19.0 KB
更新日時:2004年7月21日、15:30:00」
が表示され、応答入力のためのアイコン212、216、218、228、230が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」、アイコン228には「今後すべて新しい更新日時に変更(L)」、アイコン230には「今後すべて古い更新日時に変更(O)」が表示されている。
このようなダイアログD6(図23)からの選択入力により、ファイルの更新日時の変更の可否の確認の後、ステップS345(図21)に戻る構成としてもよい。
〔第5の実施の形態〕
次に、本発明の第5の実施の形態について、図24及び図25を参照して説明する。図24は、単一のファイルのコピーの処理プログラムを示すフローチャート、図25はダイアログの一例を示す図である。図24において、図17又は図20と同一部分には同一符号を付し、同一部分の説明を省略する。
この第5の実施の形態においては、既述のPC22(図3)が用いられる。その詳細は、既述の通りである。
図17に示す単一のファイルのコピー処理において、ダイアログを表示してユーザに処理の選択をさせる場合には、図24に示すように、ステップS348の前段にステップS356を設定し、ダイアログD7(図25)を表示し、ファイル名の変更の確認をするように構成してもよい。
この場合、ダイアログD7には、図25に示すように、ファイル情報として、タイトルバー204に「ファイル名の変更の確認」が表示され、
「コピー先に、コピー元と内容の異なるファイルが存在します。
古い方のファイル名を変更してファイルをコピーしますか?」
が表示され、応答入力のためのアイコン212、216、218が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」が表示されている。
このようなダイアログD7(図25)からの選択入力により、ファイル名の変更の可否の確認の後、ステップS348(図24)に戻る構成としてもよい。
〔第6の実施の形態〕
次に、本発明の第6の実施の形態について、図26及び図27を参照して説明する。図26は、単一のファイルのコピーの処理プログラムを示すフローチャート、図27は、ダイアログの一例を示す図である。図26において、図17又は図20に示すフローチャートと同一部分には同一符号を付し、同一部分の説明を省略する。
この第6の実施の形態においては、既述のPC22(図3)が用いられる。その詳細は、既述の通りである。
図17に示す単一のファイルのコピー処理において、ダイアログを表示してユーザに処理の選択をさせる場合には、図26に示すように、ステップS347の前段にステップS357を設定し、ダイアログD8(図27)を表示し、ファイル名の変更の確認をするように構成してもよい。
この場合、ダイアログD8には、図27に示すように、ファイル情報として、タイトルバー204に「ファイル名の変更の確認」が表示され、
「コピー先にコピー元と内容の異なるファイルが存在します。
コピー先のファイルのファイル名を変更してからコピーしますか、
それともコピー元のファイル名を変更してからコピーしますか?」
が表示され、応答入力のためのアイコン216、218、240、242が表示される。アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」、アイコン240には「コピー先のファイルのファイル名を変更してからコピー」、アイコン242には「コピー元のファイル名を変更してからコピー」が表示されている。
このようなダイアログD8(図27)からの選択入力により、ファイル名の変更の確認の後、ステップS347(図17)に戻る構成としてもよい。
〔第7の実施の形態〕
本発明の第7の実施の形態について、図28及び図29を参照して説明する。図28は、ファイルサイズが大きい場合を想定した比較処理を示すフローチャート、図29は、第7の実施の形態に係るダイアログを示す図である。図28において、図17又は図20に示すフローチャートと同一部分には同一符号を付し、同一部分の説明を省略する。
ファイル内容の比較の態様として、比較されるファイルのファイルサイズが異なる場合にはファイル内容(データ)を比較するまでもなく、ファイル内容は不一致であるから、ファイルのサイズが不一致であれば、その内容を比較することなくファイルの内容の不一致と処理すればよい。
そこで、この実施の形態では、ファイルサイズの一部のサイズとして例えば、3〔MB〕を超えるファイルを巨大なファイルと見なし、ファイルの先頭から3〔MB〕までの範囲で内容が一致している場合には、そのファイルの後続部の内容が一致しているものと見なすか、それとも最後まで比較を続行するかをユーザ(オペレータ)に問い合わせることにより、比較処理を行う。この場合、3〔MB〕を超えるファイルが巨大なファイルとするか否かは一例であって、これ以下でもよく、また、これ以上でもよい。
そこで、図28に示すように、ファイルのコピー処理において、コピー先フォルダにコピー元ファイルと同名のファイルがあるか否かの判断が行われ(ステップS341:図17又は図20)、ファイルの先頭部から所定範囲として例えば、3〔MB〕内の内容が一致している場合には、図29に示すように、先頭から3〔MB〕内の比較結果を表すダイアログD9が表示される。このダイアログD9には例えば、タイトルバー204に「ファイルの比較の確認」が表示され、
「ファイルの内容は先頭の3MBまで一致しています、
ファイルの最後まで比較しますか?」
が表示される。
この表示に対応し、比較処理を続行するか否かを選択するためのアイコン212、216、218が表示される。アイコン212には肯定入力を表す「はい(Y)」、アイコン216には否定入力を表す「いいえ(N)」、アイコン218には処理の中止入力を表す「キャンセル」が表示されている。
このダイアログD9には、アイコン216の否定入力「いいえ」を選択した場合の選択結果として例えば、
「いいえを選択した場合、同一ファイル内容のファイルとみな
します。」
が表示されている。この処理は、所定サイズの比較結果を以て同一ファイルとみなすことにより、ファイルの比較処理を打ち切ることを意味する。
このように、ファイルサイズが大きい場合を想定した場合には、次のような処理としてもよい。コピー先フォルダにコピー元ファイルと同名のファイルがあれば(ステップS341のYES)、ファイルの比較処理を行い、コピー元のファイルとコピー先のファイルの先頭部分の所定サイズとして例えば、3〔MB〕の部分で内容が一致しているか否かの判断が行われ(ステップS3421)、先頭から3〔MB〕の範囲で内容が相違していれば(ステップS3421のNO)、ステップS347(図17)の処理が実行される。
また、3〔MB〕の部分で内容が一致していれば(ステップS3421のYES)、図29に示すダイアログD9を表示して入力待ちとなる(ステップS3422)。この場合、ダイアログD9(図29)において、「はい」を選択したか否かの判断が行われ(ステップS3423)、「いいえ」が選択されれば(ステップS3423のNO)、ステップS343(図17)の処理が実行される。
ダイアログD9(図29)において、「はい」が選択されれば(ステップS3423のYES)、コピー元のファイルとコピー先のファイルの前部の3〔MB〕以降(後部)の内容が一致しているか否かの判断が行われ(ステップS3424)、3〔MB〕以降の内容が一致していれば(ステップS3424のYES)には、ステップS343(図17)の処理が実行される。
3〔MB〕以降の内容が一致していなければ(ステップS3424のNO)、ステップS347(図17)の処理が実行される。
このように、同名のファイルが存在している場合、その内容が一致しているか否かを全サイズに亘って比較しないので、大きいサイズのファイルの比較処理の切上げにより、次の処理に迅速に移行させることができる。この場合、ファイルサイズが3〔MB〕未満の場合にも比較結果として一致、不一致の判断が可能であることは言うまでもない。
〔第8の実施の形態〕
本発明の第8の実施の形態について、図30を参照して説明する。図30は、ファイルサイズが一致しているか否かを考慮した他の比較処理を示すフローチャートである。図30において、図28と同一部分には同一符号を付してある。
この実施の形態では、ファイル内容の比較に先立って、ファイルサイズの比較を行い、ファイルサイズが異なる場合には内容不一致とする処理を追加したものである。ファイルサイズが異なる場合には内容比較処理が不要となるので、より高速処理が可能となる。
そこで、図30に示すように、図29に示すフローチャートのステップS3421の前段に、ステップS3425を設定し、コピー元のファイルとコピー先のファイルのサイズが一致しているか否かの判断(ステップS3425)を行い、この判断の後、ステップS3421又はステップS347(図17)に復帰する構成とすれば、既述の高速処理が可能となる。
このように、同名のファイルが存在している場合において、ファイルサイズの一致、不一致はファイルが同一か否かの有力情報であり、サイズが一致している場合に、その先頭から所定範囲の内容を比較することにより、ファイル内容が一致している否かの判断精度が高められる。また、ファイル内容が一致しているか否かを全サイズに亘って比較しないので、次の処理に迅速に移行させることができる。
〔第9の実施の形態〕
本発明の第9の実施の形態について、図31を参照して説明する。図31は、既述の情報処理方法、情報処理プログラム、情報処理装置及び記録媒体を用いた情報処理システムを示す図である。
上記実施の形態では、PC22(図3)を例に取ってファイルのコピー、移動又は上書きについて説明したが、本発明は、情報処理装置間でのファイル交換等に幅広く適用できるものである。また、上記実施の形態(図18)において、ディジタルカメラの写真のファイル例を例示したが、ドキュメントファイル、その他コンピュータで扱えるありとあらゆるファイルで同様の処理が可能であり、ディジタルカメラで撮影した写真ファイルのファイル処理に限定されるものではなく、一般のファイルにも利用できる。
例えば、この情報処理システム40では、情報処理装置として複数のPC22A、22B、22Cとともに、PC22Aには、情報処理装置として携帯電話機42、携帯情報端末機(PDA:Personal Digital Assistant)44、ディジタルカメラ46等がUSB(Universal Serial Bus)ケーブル等により連係されている。PC22A及びPC22Bは、有線又は無線により構成される回線48を以て接続されるとともに、インターネットやイントラネット等のネットワーク50を以てPC22Cと接続されている。PC22Cは例えば、サーバを構成し、PC22A、PC22Bはクライアントである。
斯かる構成では、PC22AとPC22B、携帯電話機42、PDA44又はディジタルカメラ46とのデータの送受が行われ、また、ネットワーク50を介してPC22Cとの間でデータの送受が行われる。
このようなデータの授受において、既述のファイルのコピー、移動又は上書きを実行することができ、効率的なファイル処理及びその保存が可能である。
以上説明した各実施の形態から明らかなように、各実施の形態から抽出される本発明は多岐に亘っており、ファイルのコピー又は移動に関し、ファイル処理の利便性の向上、作業の軽減、ファイル処理の効率化の目的を達成するための本発明の構成について、記録媒体の側面から記述すれば、次の通りである。
即ち、ファイル処理に用いられる記録媒体に関し、上記目的を達成するための、本発明の側面は、コンピュータにファイルのコピー又は移動を実行させる情報処理プログラムを記録した記録媒体であって、前記情報処理プログラムが、ファイル情報を比較し、そのファイル情報が一致するか否かを判断するステップを備え、そのファイル情報の比較要素にファイル内容を含む構成である。
上記目的を達成するための、本発明の他の側面は、コンピュータにファイルのコピー又は移動を実行させる情報処理プログラムを記録した記録媒体であって、前記情報処理プログラムが、コピー元とコピー先とのファイル名を比較し、同名のファイルがコピー先に存在するか否かを判断するステップと、同名のファイルがコピー先に存在した場合にファイル内容を比較し、ファイル内容が同一であるか否かを判断するステップと、判断結果を出力するステップとを含む構成である。
上記目的を達成するためには、上記記録媒体において、好ましくは、前記情報処理プログラムが、ファイル内容が同一である場合、ファイルの日時を比較するステップと、ファイルの日時が異なる場合に、ファイルの日時を変更するか否かの問い合わせをするステップと、前記問い合わせに対する応答に応じて日時を変更するステップとを含む構成としてもよい。
上記目的を達成するためには、上記記録媒体において、好ましくは、前記情報処理プログラムが、ファイル内容が異なる場合に、コピー元のファイルをコピー先のファイルに上書きするか否かの問い合わせをするステップと、前記問い合わせに対する応答に応じて前記上書きをするステップとを含む構成としてもよい。
上記目的を達成するためには、上記記録媒体において、好ましくは、前記情報処理プログラムが、ファイル内容が異なる場合に、ファイル名を変更するか否かの問い合わせをするステップと、前記問い合わせに対する応答に応じて前記ファイル名を変更するステップとを含む構成としてもよい。
上記目的を達成するための、本発明の他の側面は、コンピュータにファイルのコピー又は移動を実行させる情報処理プログラムを記録した記録媒体であって、前記情報処理プログラムが、コピー元とコピー先とのファイル名を比較し、同名のファイルがコピー先に存在するか否かを判断するステップと、同名のファイルがコピー先に存在した場合にファイルサイズを比較し、ファイルサイズが同一であるか否かを判断するステップと、判断結果を出力するステップとを含む構成である。
上記目的を達成するためには、上記記録媒体において、好ましくは、前記情報処理プログラムが、比較するファイルのサイズが大きい場合に、ファイルの比較を継続するか否かの問い合わせをするステップを含む構成としてもよい。
なお、上記実施の形態では、ファイル内容の比較において、日時を比較情報に用いているが、この日時には日のみ又は時分又は秒までも包含して比較する処理を含ませてもよい。
次に、以上述べた実施例を含む実施の形態に関し、更に以下の付記を開示する。以下の付記に本発明が限定されるものではない。
(付記1)
コンピュータにファイルのコピー又は移動を実行させる情報処理プログラムであって、コンピュータに、
コピー元とコピー先、又は移動元と移動先とのファイル名を比較し、同名のファイルがコピー先又は移動先に存在するか否かを判断するステップと、
同名のファイルがコピー先又は移動先に存在した場合にファイル内容を比較し、ファイル内容が同一であるか否かを判断するステップと、
ファイル内容が異なる場合には、コピー元とコピー先のいずれか又は移動元と移動先のいずれかのファイル名を変更するか否かの問い合わせメッセージを出力し、ファイル内容が同一である場合には、コピー元とコピー先又は移動元と移動先のファイルの日時を比較し、ファイルの日時が異なっていればコピー先又は移動先のファイルの日時を変更するか否かの問い合わせメッセージを出力するステップと、
前記ファイル名を変更するか否かの問い合わせメッセージに対する応答に応じて、前記ファイル名を変更するとともに、コピー元のファイルをコピー先にコピーさせ又は移動元のファイルを移動先に移動させるステップと、
前記日時を変更するか否かの問い合せメッセージに対する応答に応じて、前記日時を変更するステップと、
を実行させることを特徴とする情報処理プログラム。
(付記2)
付記1に記載の情報処理プログラムにおいて、
ファイル内容が異なる場合に、コピー元又は移動元のファイルをコピー先又は移動先のファイルに上書きするか否かの問い合わせメッセージを出力するステップと、
前記問い合わせメッセージに対する応答に応じて前記上書きをするステップと、
を実行させることを特徴とする情報処理プログラム。
(付記3)
付記1に記載の情報処理プログラムにおいて、
同名のファイルがコピー先又は移動先に存在した場合にファイルサイズを比較し、ファイルサイズが同一であるか否かを判断するステップと、
ファイルサイズが同一である場合にファイル内容を比較し、ファイル内容が同一であるか否かを判断するステップと、
を実行させることを特徴とする情報処理プログラム。
(付記4)
付記3に記載の情報処理プログラムにおいて、
比較するファイルのサイズが大きい場合に、ファイルの比較を継続するか否かの問い合わせメッセージを出力するステップを実行させることを特徴とする情報処理プログラム。
(付記5)
ファイルをコピー又は移動する情報処理装置であって、
コピー元とコピー先、又は移動元と移動先とのファイル名を比較し、同名のファイルがコピー先又は移動先に存在するか否かを判断し、同名のファイルがコピー先又は移動先に存在した場合にファイル内容を比較し、ファイル内容が異なる場合には、コピー元とコピー先のいずれか又は移動元と移動先のいずれかのファイル名を変更するか否かの問い合わせメッセージを出力し、ファイル内容が同一である場合には、コピー元とコピー先又は移動元と移動先のファイルの日時を比較し、ファイルの日時が異なっていればコピー先又は移動先のファイルの日時を変更するか否かの問い合わせメッセージを出力し、前記ファイル名を変更するか否かの問い合わせメッセージに対する応答に応じて、前記ファイル名を変更するとともにコピー元のファイルをコピー先にコピーさせ又は移動元のファイルを移動先に移動させ、前記日時を変更するか否かの問い合せメッセージに対する応答に応じて前記日時を変更する処理部と、
この処理部の出力を表示する表示部と、
を含むことを特徴とする情報処理装置。
(付記6)
付記5に記載の情報処理装置において、
前記処理部は、ファイル内容が異なる場合に、コピー元又は移動元のファイルをコピー先又は移動先のファイルに上書きするか否かの問い合わせメッセージを出力し、前記問い合わせメッセージに対する応答に応じて前記上書きをすることを特徴とする情報処理装置。
(付記7)
付記5に記載の情報処理装置において、
前記処理部は、同名のファイルがコピー先又は移動先に存在した場合にファイルサイズを比較し、ファイルサイズが同一であるか否かを判断し、ファイルサイズが同一である場合にファイル内容を比較しファイル内容が同一であるか否かを判断することを特徴とする情報処理装置。
(付記8)
付記7に記載の情報処理装置において、
前記処理部は、比較するファイルのサイズが大きい場合に、ファイルの比較を継続するか否かの問い合わせメッセージを出力することを特徴とする情報処理装置。
以上説明したように、情報処理方法、情報処理プログラム、情報処理装置及び情報処理方法の最も好ましい実施の形態等について説明したが、本発明は、上記記載に限定されるものではなく、特許請求の範囲に記載され、又は発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能であることは勿論であり、斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。