8.3文件名

文件命名規範

8.3文件名(或简称8.3)是FAT文件系统的一种文件命名规范。在与“长文件名”并称时可以称为短文件名。广泛影响于采用FAT文件系统且不支持VFATDOSWindows操作系统(如Windows 95Windows NT 3.5及以前的版本)中。同时在以前的CP/M及某些的通用资料迪吉多微型电脑操作系统中也被使用。

概述

编辑

8.3文件名是一种文件名规范,它主要运用于FAT文件系统中。其后继者NTFS文件系统也支持8.3文件名。这种规范之所以被称为“8.3”,是因为其文件名的特殊格式:文件名的主体部分最多只能包含8个字符,而文件扩展名最多只能包含3个字符。二者之间用“.”相连。8.3文件名的目录和文件名都仅使用大写字母,但DOS和命令提示符都不大小写敏感(当然,如果使用UNIX类Unix等一般大小写敏感的操作系统,则应注意)。

8.3文件名必须包含主体文件名,但不必须包含扩展名,二者之间用“.”相连。但是如果输入“.”后没有输入扩展名,则“.”没有意义,会被忽略。比如12345678.会被系统保存为12345678

长文件名对8.3的兼容性

编辑

FAT最初只支持8.3文件名。FAT对于长文件名的支持,是从VFAT开始的。它是对于FAT的加强。VFAT文件系统可允许比传统的8.3文件名,支持更长、而且能大小写混合的长文件名(LFN)。VFAT在Windows 95和Windows NT 3.5加入。

在VFAT的规范下,每一个长文件名便会自动产生一个相应的8.3文件名称,可容许文件可以继续更名、删除或开启。这是为了维持对以前的操作系统(例如DOS和Windows 3.1)和应用程序的向下兼容。

而在Windows NT系列中的NTFS文件系统本身已经对长文件名作出支持,但8.3的名称仍然会保留,供旧有的应用程序使用。这可以选择性地关上这个功能以增加性能。

ReFS文件系统已经不再支持8.3文件名。

8.3文件名产生规则

编辑

由于这对于一个长文件名没有一个必然的算法建立一个8.3文件名,Windows会使用以下的常规以决定一个8.3文件名称是如何产生:

  1. 如果长文件名本身是8.3,且全部为大写字母,在磁盘上不会存储长文件名。
    • 例如:"TEXTFILE.TXT"
  2. 如果长文件名本身是8.3,同时包含大小写字母,那么长文件名会存储大小写混合字母的文件名,在8.3的名称会存储它的大写字母版本。
    • 例如:"TextFile.Txt"会转换成"TEXTFILE.TXT"。
  3. 长文件名只会保留基本名称的首6位半角字符,以一个~号连接着,再以一个数字作结尾以作识别,最后以扩展名的首3位字符作结束。从这个结果中再对无法使用的字符再作删除,像(+)号会转换成(_)号,另外这也会转成全大写字母。
    • 例如:"TextFile1.Mine.txt"会转换成"TEXTFI~1.TXT";"附属应用程序"会转换成"附属应~1"(或如果"TEXTFI~1.TXT"已经存在的情况下,会存储作"TEXTFI~2.TXT")。"ver +1.2.text"会转换成"VER_12~1.TEX"。
  4. 从Windows 2000开始,如果最少4个文件或文件夹的短文件名的首6个字符是相同的话,该长文件名会另行将文件名转作基本名称的首2位字符(或如果基本名称只有1个字符的话,便全取文件名称1个字符),再以4位十六进制的文件名称的切细值连接上,接着~号,再接着一位的数字及.号,最后以首3位的扩展名作为结尾。结果,相比之中,这文件名是已经分拆及改用全大写字母。
    • 例如:"TextFile.Mine.txt"会转换成"TE021F~1.TXT"。

8.3的应用

编辑

ISO 9660文件系统中(多数使用于CD光盘上)在基本的等级1中也有相似的限制,在此再加上一些附加的限制,例如目录名称不能含有扩展名,另外文件名称不可含有一些半角的字符(通常是连接号等的附号)。等级2的系统可以容许不多于31个字符的文件名称,这对于Mac OS文件名称的兼容性有所增加。

有笑话称,在微软反垄断案事件中,MICROS~1及MICROS~2被用来代表微软分割后可能出现的公司。[1]

参见

编辑

引用

编辑
  1. ^ 存档副本. [2014-04-13]. (原始内容存档于2012-02-22).