在
FAT文件系统中,根据结构不同可以讲目录项分为四种:卷标目录项、“.”目录项和“..”目录项、短文件名目录项和长文件名目录项。短文件名目录项是最重要的
数据结构,其中存放着有关子目录或文件的短文件名、属性、起始
簇号、时间值以及内容大小等信息。
所谓段文件名是指
DOS和Windows3.x时代文件名的传统格式,即“8.3”格式。在这种格式的限制下,用户在给文件起名时,主文件名不能超过8个字符,并且不能支持中文;扩展名不能超过3个字符,所以称为“8.3”格式。在这种格式下,文件目录项中只需要8+3=11字节就可以记录文件名了(文件名和扩展名直接的“.”是默认的,不能记录),这种格式的目录项也称为短文件名目录项。
从在windows95开始,文件名“8.3“格式的限制被打破了,文件名可以超过8个字符,并且可以使用中文了,扩展名也可以超过3字节,这种格式的文件名就称为长文件名。
不过在Window95以上的系统中创建的长文件名需要考虑与DOS和Windows 3.x的兼容问题,所以在Windows 95以上的系统中,超过8.3格式的文件或目录实际存储着两个名字,一个短文件名和一个长文件名。如果是短文件名,则存储在短文件名目录项中。当创建一个长文件名时,其对应短文件名的存储有以下三个处理原则:
每个长文件名目录项占用32字节,一个目录项作为长文件名目录项使用时,其属性字节值为0FH,能偶存储13个字符,如果文件名很长,一个长文件名就需要多个目录项,这些目录项按倒序排列在其短文件名目录项之前。
在子目录所在的文件目录项区域中,总有两个特殊的目录,它们就是“.“目录和”..“目录。这两个目录可以用
DOS命令”DIR“查看到。使用DIR列目录后,可以看到两个就是”.“目录和”..“目录,其中:
卷标就是一个
分区的名字,可以在格式化分区时创建,也可以随时修改。在DOS时代,卷标记录在
DBR的
BPB中,目前的系统把卷标当做文件,用文件目录项进行管理,系统为卷标建一个目录项,放在根目录中,对
FAT16来说,就是防在
FDT中。