長いファイル名

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ロングファイル名LFN)のサポートは、 DOSで使用されている8.3ファイル名(ショートファイル名)の命名スキームの下位互換性のある拡張です長いファイル名は、、、、、などの特殊な短縮名ではなく、他のオペレーティングシステムで一般的な、、、など長いファイル拡張子を含めて、よりわかりやすくすることができますこの標準は、1994年の Windows NT 3.5での最初の実装以来、ファイルアロケーションテーブル(FAT)ファイルシステムで一般的です。.jpeg.tiff.html.xhtml.jpg.tif.htm.xht

古いオペレーティングシステムとの互換性を維持するために、Microsoftは長いファイル名(たとえば、Microsoft.txtからMICROS~1.TXT)から8.3ファイル名を生成し、それをファイルに関連付ける方法を策定しました。

互換性の問題

Microsoftは、ボリュームラベルタイプの隠しディレクトリエントリを使用して長い名前を格納することにより、FATファイルシステムにLFNのサポートを実装しました。このスキームはVFATとして知られており、ボリュームラベルは通常、プログラムおよびオペレーティングシステム(OS)コンポーネントによって無視されるため、互換性のために選択されました。古いOSで実行されているプログラムは引き続きファイルの短い名前にアクセスできますが、新しいLFN対応のOSおよびプログラムは長いものを使用できます。

LFNサポートが最初にWindows95の形式でDOSベースのオペレーティングシステムに導入されたとき、それは古いプログラムにいくつかの問題を引き起こしました。たとえば、WindowsがDOSモードのときにセクターレベルのディレクトリ操作を実行するDOSプログラムは、長いファイル名情報を破棄する可能性があるため、デフォルトでは、このモードではハードディスクへのセクターレベルのアクセスは許可されていません。

プレーンDOSで起動すると、VFAT LFNドライバーがインストールされていない限り、長いファイル名は表示されません。Microsoftは、ファイルマネージャー、新しいオペレーティングシステムシェルであるWindowsエクスプローラーによって廃止されたWindows 3.1x (Windows for Workgroups)ファイルマネージャーなど、古いプログラムの多くにLFNサポートを追加しませんでしたWindows NTは、NT 3.1のリリース以降のNTFSファイルシステムでLFNをサポートし、ファイルマネージャを含むすべてのユーティリティがLFNをサポートするように更新されました。NT 3.5は、Windows95の準備としてFATLFNサポートを追加しました。ただし、Windows 95バージョンのファイルマネージャーは、Windows forWorkgroups3.11から提供されました。

OS / 2は、FATファイルシステムのLFNを、Microsoftの実装と互換性がなく、OS/2の標準をサポートするツールにのみ表示される.LONGNAME 拡張属性に格納します。パス名でファイルへのアクセスを提供する多くのAPIは、サポートするドライバーがないと、新しい長い名前を表示できません。

制限

FAT LFNの実装は、より古く、より制限されたネーミングシステムの上に階層化されているため、同じ最初の6文字であまりにも多くのファイルを作成しようとした場合など、避けられない複雑さがあります。[1]また、FAT12FAT16はハードディスク上の512のルートディレクトリエントリにのみスペースを割り当てるため、ルートディレクトリにファイルまたはフォルダを作成する際に問題が発生する可能性が高くなります。長いファイル名は複数のディレクトリエントリを使用するため、この問題はルートディレクトリ内の512未満のファイルまたはフォルダで発生する可能性があります。[2]最大長(512 /(1 + 20))の24個の長いファイル名用のスペースのみがあります。この問題は、 FAT32ボリューム には存在しません。

長いファイル名システムでは、スペースと英数字以外の文字(COMMAND.COMコマンドインタープリターまたはオペレーティングシステムカーネル内で特別な意味を持つ次の文字を除く)を含めて、最大255のUCS-2文字[3] [4]を使用できます。 \ /:*? "<> |)これは、それぞれ13文字の2バイトUnicode文字の最大20のディレクトリエントリをチェーンすることによって実現されます。[4]パス名の最大長は256文字で、すべての親ディレクトリとfilename。255文字の大文字と小文字が混在する長いファイル名は、ドライブのルートフォルダにあるファイルまたはサブフォルダのないフォルダでのみ使用できます。

長いファイル名のサポートにより、長いファイル名とディレクトリ名が可能になりますが、DOSベースのシステムでは、関連する短いファイルとディレクトリ名に相当するものから構築された絶対ファイルパスは、現在のディレクトリ構造(CDS)と呼ばれる内部データ構造で表されます。 5] [6] [7] [8]これは、(短い)パス名に66文字の制限を課し、それによってパスのさも最大33レベルに間接的に制限します(ルートディレクトリでカウントし、単一の文字名)。(この設計上の制限は、まだ相対的なものを利用している古いバージョンのDR DOS(DR DOS 6.0 1991年11月の更新以前)には存在しませんでした。内部のパス表現[7] [8] [9]ただし、内部の違いにより、これらのバージョンは既存のLFNアドオンドライバーと互換性がありません。)CDSのない非DOSベースのオペレーティングシステムは、このパスに制限されません。深さ制限。

VFATLFNドライバー

以下は、Windows 95で使用されるVFATロングファイル名のサポートを提供するために使用できるドライバのリストです。DOSLFNなどのドライバはほとんどすべてのバージョンのDOSにロードできますが、をサポートするDOSバージョンで最適に動作します。MS-DOS7.10DR- DOS7.02などのLFN自体。そのため、などのDOSコマンドでもDIR長いファイル名が表示されます。

OS ドライバー名 プロバイダー
プレーンなDOS DOSLFN、LFNDOS 第三者
DR-DOS ロングネーム 含まれています
RxDOS ビルトイン 含まれています
OS / 2 VFAT-OS2.IFS 第三者
Windows NT 4.0 NTLFN 第三者

その他の実装

LFNサポートがファイルシステムのFATファミリに実装される前は、さまざまなファイルマネージャが、より長いファイル記述を添付および維持するための独自の方法を提供していました。最初にそうすることの中には、内部コマンドと対応するファイルを備えた代替コマンドラインプロセッサ4DOSNDOSがあります。後者は、各ディレクトリにあるオプションの隠しファイルで、ディレクトリにあるファイル名の行ベースのリストを、テキストの説明とオプションのメタデータエントリ(拡張属性や他のプログラムの構成データなど)とともに保存します。[10]DESCRIBEDESCRIPT.ION説明は最大511文字の長さにすることができ、長いファイル名がリストの短いファイル名エイリアスと一緒にリストされるのとほぼ同じ方法でファイル名に沿って表示されますDIRファイルのエントリが存在する場合、これらのコマンドラインプロセッサを使用して操作を実行している限り、ファイルとともにコピーおよび移動されます。[9]このスキームは、4OS2、4NT / TakeCommandなどの後継者によって引き続き維持されています。これは、 Volkov Commander(VC)、DOS Navigator(DN)、Open DOS Navigator(ODN)、NecromancerのDOS Navigator(NDN)、WindowsCommanderなどの他のさまざまなプログラムでも採用されましたTotal CommanderDouble Commander7-ZipXnViewACDSeeNewsbin Pro、V、FreeCOM [11]および一部のCUI_LIB [12]ベースのアプリケーション。

1986年以来のSharpX68000コンピュータのオペレーティングシステムであるHuman68Kは、拡張FATファイルシステムに基づいています。ファイル名に最大18.3文字(FATの8.3文字ではなく)を使用でき、大文字と小文字(およびShift JISコードの漢字)もすべて区別できるものとして扱われます。大文字のみの8.3形式のファイル名の使用に制限されている場合、Human68Kフロッピーは、日本の1232 KiB標準FATフロッピー形式(77シリンダー、2ヘッド、8セクター、1024バイト/セクター)と完全に互換性があります。このフォーマットは、NEC PC-9800Fujitsu FMRFMTownsシリーズのコンピュータで使用されています。[要出典]

Novell NetWareバージョン3.xおよび4.xボリュームは、追加のNetWareロード可能モジュール(NLM)をロードすることにより、Microsoft互換の長いファイル名もサポートできます。[13]

VFAT互換スキームを実装せずにJavaアプリケーションをサポートするために、 FlexOSベースのIBM 4690 OSバージョン2は、独自の仮想ファイルシステム(VFS)アーキテクチャを導入して、長いファイルシステムを下位互換の方法でFATファイルシステムに格納します。有効にすると、仮想ファイル名(VFN)は個別の論理ドライブ文字で使用できますが、実際のファイル名(RFN)は元のドライブ文字で使用できます。[14]

も参照してください

参照

  1. ^ CocoaDev: ウェイバックマシンで2006-10-18にアーカイブされたMSDOSFileSystem
  2. ^ ルートディレクトリにファイルまたはフォルダを作成する際のエラー
  3. ^ 「長いファイル名のためのスペースを作る」2008年4月23日にオリジナルからアーカイブされました2007年4月19日取得
  4. ^ ab "長いファイル名指定" 。2015年10月25日にオリジナルからアーカイブされました2013年5月22日取得
  5. ^ シュルマン、アンドリュー; ブラウン、ラルフD .; マクシー、デビッド; ミシェルズ、レイモンドJ .; カイル、ジム(1994)[1993年11月]。文書化されていないDOS:予約済みのMS-DOS関数とデータ構造に関するプログラマーズガイド-MS-DOS 6、Novell DOS、およびWindows 3.1(2版)を含むように拡張されました。マサチューセッツ州レディング:アディソンウェスリーISBN 0-201-63287-XISBN978-0-201-63287-3_ (xviii + 856 + viページ、3.5インチフロッピー)エラッタ:[1] [2]
  6. ^ ブラウン、ラルフD .; et al。、eds。(2000-07-16)。「ラルフブラウンの割り込みリスト」(61版)。INTER61
  7. ^ a b Paul、Matthias R.(1997-07-30)[1994-05-01]。NWDOS-ヒント— Novell DOS 7で実行されるヒントとコツ、Blick auf undokumentierteの詳細、バグと回避策MPDOSTIPリリース157(ドイツ語)(3版)。2017-09-10にオリジナルからアーカイブされました2014年8月6日取得(注:NWDOSTIP.TXTは、Novell DOS7およびOpenDOS7.01に関する包括的な作業であり、文書化されていない多くの機能と内部の説明が含まれています。これは、MPDOSTIP.ZIP2001年まで維持され、当時多くのサイトで配布された、作成者のさらに大きなコレクションの一部です。提供されているリンクは、HTMLに変換された古いバージョンのファイルを指していNWDOSTIP.TXTます。)[3]
  8. ^ a b Paul、Matthias R.(1997-06-07)[1994年4月]。「第1.3.xi章:ÜberlangePfade」。NWDOS7UN.TXT — Zusammenfassung derdokumentiertenundundokumentiertenFähigkeitenvonNovellDOS7MPDOSTIPリリース85(ドイツ語)。2016年11月7日にオリジナルからアーカイブされました2016年11月7日取得
  9. ^ a b ブラザーズ、ハーディン; ローソン、トム; Conn、Rex C .; ポール、マティアスR .; 染料、チャールズE .; Georgiev、Luchezar I.(2002-02-27)。4DOS8.00オンラインヘルプ
  10. ^ 「テクニカルノート-DESCRIPT.IONの使用」米国メリーランド州チェスタータウン:JP SoftwareInc. 1989年。2016年3月18日のオリジナルからアーカイブ。(注:既知のIDには、CP(コードページ)、PC(言語コード)などの拡張属性としてファイルプロパティを保持するテキストキー=値のペア0x23のスペース区切りリストに対してMatthias R. Paulによって作成されたさまざまなユーティリティで使用される('#')が含まれます、CW(ビット幅)、XS(ページ幅)、YS(ページ長)、XO(印刷xオフセット)、YO(印刷yオフセット)、CR(著作権)、URL(ソースリンク)など、('%')CUI_LIBを使用して疑似環境変数を格納するプログラムによって使用され、 Digital Research / Novell / CalderaおよびFreeDOSに予約されています。)0x250xED0xFD
  11. ^ デイビス、ジェレミー。「FreeComおよび4DOSDESCRIPT.IONファイル」(FreeDOSテクニカルノート)。FreeDOS2016年11月11日にオリジナルからアーカイブされました2016年11月11日取得
  12. ^ Paul、Matthias R.(1997-05-01)[1995-03-01]。"Hinweise zu JPSofts 4DOS 5.5b / c、5.51、5.52aundNDOS"MPDOSTIP(ドイツ語)。2016年11月4日にオリジナルからアーカイブされました2015年5月8日取得4DOS5TIP.TXT(注:提供されているリンクは、コレクションの一部であるHTML変換バージョンのファイルを指していますMPDOSTIP.ZIP。)[4]
  13. ^ ノベル(1999-02-11)。「TID1002030WindowsNT、NetWare上の長いファイル名」
  14. ^ 4690 OSプログラミングガイドバージョン5.2(PDF)IBM2007-12-06。IBM文書SC30-4137-01。 {{cite book}}:CS1 maint:url-status(link

外部リンク