FatFsモジュールでのファイル、ディレクトリ、ドライブの指定方法はMS-DOSとほぼ同じです。ただし、一般的なOSのようなカレント・ディレクトリの概念は無いので、常にルート・ディレクトリから辿る絶対パスでの指定となります。パス名の指定方法と例は次の通りです。
"[論理ドライブ番号:][/]ディレクトリ名/ファイル名" "file1.txt" ファイル(ドライブ0) "/file1.txt" ↑と同じ "dir1/dir2/file1.txt" ファイル(ドライブ0) "2:dir3/file2.txt" ファイル(ドライブ2) "2:/dir5" ディレクトリ(ドライブ2) "" ルート・ディレクトリ(ドライブ0) "/" ↑と同じ "2:" ルート・ディレクトリ(ドライブ2)
FatFsモジュールは長いファイル名および8.3形式ファイル名に対応しています。長いファイル名は、_USE_LFNオプションが選択されたとき使用可能になります。ディレクトリ・セパレータには / または \ を使用します。パス名先頭のセパレータは、あってもなくても同じです。論理ドライブ番号は、'0'〜'9'の一文字の数字とコロンで指定します。省略した場合は"0:"を指定したことになります。
標準構成では、それぞれの論理ドライブは同じ番号の物理ドライブに1:1で結びつけられていて、先頭の区画がマウントされます。構成オプションで_MULTI_PARTITIONを指定すると、論理ドライブに対して個別に物理ドライブ番号・区画を指定できるようになります。この構成では、論理ドライブと区画の対応を解決するためのテーブルを次に示すように定義する必要があります。
例:論理ドライブ0〜2を物理ドライブ0(固定ディスク)の3つの基本区画に割り当て、 論理ドライブ3を物理ドライブ1(リムーバブル・ディスク)に割り当てる場合。 const PARTITION Drives[] = { {0, 0}, /* Logical drive 0 ==> Physical drive 0, 1st partition */ {0, 1}, /* Logical drive 1 ==> Physical drive 0, 2nd partition */ {0, 2}, /* Logical drive 2 ==> Physical drive 0, 3rd partition */ {1, 0} /* Logical drive 3 ==> Physical drive 1 */ };
複数区画指定を使用する場合、次の点に注意しなければなりません。