FATファイルシステムのファイル管理

FATのファイルの記述

FATのディレクトリには次のように記載されます
  020 46 41 54 33, 32 44 41 54 , 54 58 54 20, 00 5F 8D 63 ; FAT32DATTXT ._.c
  030 AA 38 AA 38, 01 00 68 63 , AA 38 02 00, 00 12 00 00 ; .8.8..hc.8......
  040 44 46 41 54, 33 32 20 20 , 20 20 20 10, 00 68 90 64 ; DFAT32     ..h.d
  050 AA 38 AA 38, 01 00 91 64 , AA 38 04 00, 00 00 00 00 ; .8.8...d.8......
  060 00 00 00 00, 00 00 00 00 , 00 00 00 00, 00 00 00 00 ; ................
  070 00 00 00 00, 00 00 00 00 , 00 00 00 00, 00 00 00 00 ; ................  
一つのファイルの定義は、32バイト毎に記載されます。

ファイルの定義

ファイルの記載例は、FAT32DAT.TXTという名称で 4608バイト 2008年5月10日 12時27分16秒です

8バイトと3バイトでファイル名とファイルタイプを表します FATファイル定義情報 FATファイル定義情報

アトリビュートの定義

アトリビュート(attr)で 0x20 はARCHIVEを示します。 FATファイル定義情報
その他の定義は
  0x01 READ ONLY
  0x02 HIDDEN
  0x04 SYSTEM
  0x08 VOLUME ID
  0x10 DIRECTORY
  0x20 ARCHIVE 
となります

予約

WindowsNT用に予約されている部分です FATファイル定義情報

作成日の時刻(ミリ秒)

作成日の時刻をミリ秒で 0-199の値が記録されます
0x5f は 95ですので 950 ミリ秒を表します FATファイル定義情報

作成時刻

作成時刻が記録されます FATファイル定義情報
	0- 4: 秒(1/2単位で記録)
	5- 8: 分
	9-15: 時
8D 63 は 0x638d から
    (0x638d & 0xf800) >> 11) = 0x0c = 12 時
    (0x638d & 0x07e0) >>  5) = 0x19 = 25 分
    (0x638d & 0x001f) >>  0) = 0x1d = 29 -> *2 = 58 秒
      -> 58 + (0x5f) 0.95 = 58.95 -> 58秒

作成日

作成日が記録されます FATファイル定義情報
	0- 4: 日
	5- 8: 月
	9-15: 年(0-127) 1980年が 0 
AA 38 は 0x38aa から
    (0x38aa & 0xf800) >> 11) = 0x1c = 28 + 1980 = 2008 年
    (0x38aa & 0x07e0) >>  5) = 0x05 =  5 月
    (0x38aa & 0x001f) >>  0) = 0x0a = 10 日

最終アクセス日

最終アクセス日が記録されます FATファイル定義情報
	0- 4: 日
	5- 8: 月
	9-15: 年(0-127) 1980年が 0 
AA 38 は 0x38aa から
    (0x38aa & 0xf800) >> 11) = 0x1c = 28 + 1980 = 2008 年
    (0x38aa & 0x07e0) >>  5) = 0x05 =  5 月
    (0x38aa & 0x001f) >>  0) = 0x0a = 10 日

クラスタ番号の上位16ビット

FAT32の場合についてだけクラスタ番号の上位16ビットが記録されます
01 00 は 0x0001
FATファイル定義情報

書込時刻

書込時刻が記録されます FATファイル定義情報
	0- 4: 秒(1/2単位で記録)
	5- 8: 分
	9-15: 時
68 63 は 0x6368 から
    (0x6368 & 0xf800) >> 11) = 0x0c = 12 時
    (0x6368 & 0x07e0) >>  5) = 0x1b = 27 分
    (0x6368 & 0x001f) >>  0) = 0x08 =  8 -> *2 = 16 秒

書込日

書込日が記録されます FATファイル定義情報
	0- 4: 日
	5- 8: 月
	9-15: 年(0-127) 1980年が 0 
AA 38 は 0x38aa から
    (0x38aa & 0xf800) >> 11) = 0x1c = 28 + 1980 = 2008 年
    (0x38aa & 0x07e0) >>  5) = 0x05 =  5 月
    (0x38aa & 0x001f) >>  0) = 0x0a = 10 日

クラスタ番号の下位16ビット

クラスタ番号の下位16ビットが記録されます
02 00 は 0x0002
上位と合わせて 0x00010002 = 65538 クラスタ
FATファイル定義情報

ファイルサイズ

ファイルサイズが記録されます
00 12 00 00 は 0x00001200
4608 バイト
FATファイル定義情報

このページはリンクフリーですが、リンクの際には連絡を頂けると有難いです
リンクの際の連絡はここからお願いします(fatlink@pjc.co.jp)

Mail: freeinfo@pjc.co.jp