Каталог представляет собой справочник, содержащий сведения о местоположении, размере, дате и времени обновления файлов. Для каждого файла на диске имеется один элемент в определённом каталоге. Один элемент корневого каталога выделяется для метки
65
диска. Для каждого каталога имеется элемент в его родительском каталоге. Кроме того, каждый каталог, за исключением корневого, содержит по одному элементу для специальных имен "." и "..". Эти элементы указывают начало цепочки в FAT соответственно для самого каталога и для его родительского каталога. Такая система описания каталогов обеспечивает возможность сокращенного написания пути к данному файлу, когда он походит через родительский каталог. Здесь особенно важна возможность написания программ, просматривающих все дерево каталогов произвольной структуры.
Каждый элемент каталога имеет длину 32 байта и структуру, представленную в табл. 3.3.
Таблица 3.3
Поля элемента каталога
| Длина, байт | Содержимое поля |
| 8 | Имя файла, каталога или тома |
| 3 | Расширение имени файла |
| 1 | Байт атрибутов |
| 10 | Резервное поле |
| 2 | Код времени изменения файла |
| 2 | Код даты изменения файла |
| 2 | Номер первого кластера файла (подкаталога) |
| 4 | Размер файла |
Поле имени. Если имя файла содержит меньше 8 символов, то справа оно дополняется пустыми позициями. Пробелы в записи имени файла недопустимы. Однако большинство системных функций позволяют создавать файлы с пробелами в поле имени, которые трудно удалить обычным способом.
Код 00 в первом байте поля имени показывает, что этот элемент каталога ранее не использовался. Так как каталог заполняется последовательно, это означает, что и следующие за ним элементы также не использовались. Это позволяет избежать лишних поисков в каталоге. При стирании файла в первом байте соответствующего элемента каталога записывается код Е5. Все остальные байты элемента не изменяются. Сохраняемая в каталоге и FAT информация после удаления файла позволяет выполнять его восстановление, если занимаемое им ранее дисковое пространство не было выделено другому файлу.
| № бита | Назначение |
| 0 | Защищенный |
| 1 | Скрытый |
| 2 | Системный |
| 3 | Метка тома |
| 4 | Каталог |
| 5 | Архивный |
| 6 | Не используется |
| 7 | Не используется |