簡介
在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格式的檔案或目錄實際存儲著兩個名字,一個短檔案名稱和一個長檔案名稱。如果是短檔案名稱,則存儲在短檔案名稱目錄項中。當創建一個長檔案名稱時,其對應短檔案名稱的存儲有以下三個處理原則:
系統取長檔案名稱的前6個字元加上“~1“形成短檔案名稱,其擴展名不變;
如果已存在這個名字的檔案,則符合“~“後的數字自動增加;
如果有DOS和Windows 3.x非法的字元,則以下劃線“_“替代。
1.系統取長檔案名稱的前6個字元加上“~1“形成短檔案名稱,其擴展名不變;
2.如果已存在這個名字的檔案,則符合“~“後的數字自動增加;
3.如果有DOS和Windows 3.x非法的字元,則以下劃線“_“替代。
每個長檔案名稱目錄項占用32位元組,一個目錄項作為長檔案名稱目錄項使用時,其屬性位元組值為0FH,能偶存儲13個字元,如果檔案名稱很長,一個長檔案名稱就需要多個目錄項,這些目錄項按倒序排列在其短檔案名稱目錄項之前。
“.“目錄項和”..“目錄項
在子目錄所在的檔案目錄項區域中,總有兩個特殊的目錄,它們就是“.“目錄和”..“目錄。這兩個目錄可以用DOS命令”DIR“查看到。使用DIR列目錄後,可以看到兩個就是”.“目錄和”..“目錄,其中:
1.“.“表示當前目錄
2.“..“表示上級目錄
卷標目錄項
卷標就是一個分區的名字,可以在格式化分區時創建,也可以隨時修改。在DOS時代,卷標記錄在DBR的BPB中,目前的系統把卷標當做檔案,用檔案目錄項進行管理,系統為卷標建一個目錄項,放在根目錄中,對FAT16來說,就是防在FDT中。
卷標的目錄項屬於短檔案名稱目錄項,它有以下特點:
對FAT格式的分區,卷標的長度最多允許達到11位元組,如果卷標為中文,則最多支持5個字元
卷標的目錄項中不記錄起始簇號和大小
卷標的目錄項中不記錄創建時間和訪問時間,只記錄修改時間
1.對FAT格式的分區,卷標的長度最多允許達到11位元組,如果卷標為中文,則最多支持5個字元
2.卷標的目錄項中不記錄起始簇號和大小
3.卷標的目錄項中不記錄創建時間和訪問時間,只記錄修改時間