arrow 若葉プログラミング塾 > 知識の玉手箱 > ワンポイントTips >

長いファイル名

 Windowsの世界でいう長いファイル名とは、単にファイル名が長いという意味ではない。

 困ったことに、Windowsの世界には長いファイル名短いファイル名がある。 ひとつのファイルに、である!これはいったいどういうことか。

 MS-DOSというOSではファイル名は一種類、すなわちファイル名8桁以内、拡張子3桁以内の英数字からなる、いわゆる8.3形式であった。

SAMPLE.TXT
123
ABC.1

 上記はいずれも正しい8.3形式である。ちなみに、大文字小文字の区別はないが、すべて大文字で表示される。

 これがWindowsに引き継がれて短いファイル名となった。 ところが、この形式ではファイル名の数が多くなると重複が起こりやすくなってしまう。 また、他のOSからのファイルの持ち込み時に、ファイル名が変わってしまう不都合がある。 そういうわけで、Windowsも3.xまでは8.3だったのだが、95から長いファイル名をサポートすることになった。

 そうはいっても、ファイルシステムのFAT(ファイルアロケーションテーブル)の構造を変えると互換性が失われるので、短いファイル名が正式な名称なことに変わりなく、 長いファイル名はFATのいわば「備考欄」に保存されていたにすぎない。

 新しいファイルシステム、すなわちNTFSやFAT32で、ようやく今の姿(長いファイル名が正しい名称であり、短いファイル名が下位互換性のための盲腸的存在)になったのである。

 ところが、長いファイル名は便利でわかりやすいのであるが、時として短いファイル名を使わざるを得ない場合がある。 古いOSやファイルシステムへの持ち込み時、あるいは古い作成年度のツール類への読み込み時などである。であるので長短ファイル名間の対応を知っておいたほうが良い。

LongLongFileName.txt          LONGLO~1.TXT
平成15年度予算案.xls        平成1~1.XLS
index.html                    INDEX~1.HTM

上記は、長いファイル名とそれに対応する短いファイル名の例である。この~1の部分は同じパタンのファイルがすでにあると~2となるので、 状況によりファイル名の対応は一定ではない。まことにやっかいな話である。

しかし、古いPC用OS(DOSやCP/M86)が開発された当時は、現在のようにディスク空間が巨大で、何万個ものファイルを個人レベルで(!)使う日がこようとは、 誰も想像すらできなかった、というこれは証拠なのである。

長いファイル名
arrow 若葉プログラミング塾 > 知識の玉手箱 > ワンポイントTips >
KC