文件系統文件(.dat)定義了在目標設備初始化時設置的文件和文件夾的位置,當目標設備冷啟動時,Filesys.exe將會使用這些文件系統文件在內存中來創建文件夾,鏈接和文件等。
通過修改Project.dat文件中文件夾和文件位置的定義,你可以定義任何除了Windows文件夾以外的根文件夾,另外,你還能夠從ROM中的Windows文件夾復制或鏈接文件。這些文件和鏈接通過.dat文件被創建在RAM文件系統中對象存儲區域裡。
下面的代碼是Project.dat文件中典型的用法:
root:-Directory("My Documents")
root:-Directory("Program Files")
Directory("\Program Files"):-Directory("My Projects")
Directory("\Program Files"):-Directory("AccessorIEs")
Directory("\Program Files"):-Directory("Communication")
Directory("\Program Files\My Projects"):-File("My Project Program","\Windows\Myproj.exe")
root:-File("\control.lnk","\Windows\control.lnk")
其中:
root:段定義了操作系統的根文件夾,它必須位於一個文件入口的開頭以用於創建任何子文件夾。
兩個文件夾——My Documents和Program Files位於根文件夾下,另外三個子文件夾——My Projects,AccessorIEs和Communication位於Program Files文件夾下。
-File參數從ROM中的Windows文件夾中復制Myproj.exe文件放到My Projects文件夾內作為My Project Program文件的名字。
當修改.dat文件的時候,你可以隨意的使用IF和ENDIF條件選擇塊以及NOT(!)操作符。在一行的開頭利用分號(;)作為注釋。
下面的代碼演示了在Program Files文件夾下修改了子文件夾。
IF IMGINCLUDEAPPS
Directory("\Program Files"):-Directory("My Projects")
ENDIF
IF IMGNOACC !
Directory("\Program Files"):-Directory("AccessorIEs")
ENDIF
Directory("\Program Files"):-Directory("Communication")
在這個例子中,如果在運行Makeimg.exe之前用戶自定義的環境變量IMGINCLUDEAPPS被設置,那麼My Projects文件夾將被包含到目標設備上。如果IMGNOACC變量沒被設置,AccessorIEs文件夾將被包含,Communication文件夾被不依賴於任何環境變量的設置而被包含到目標設備上。它們會自動的出現在Windows下。
在設備啟動的時候,操作系統分析.dat文件中的這些信息,然後在正確的位置創建文件夾,復制文件。處理的結果被存儲在RAM中,在.dat文件中列出的項目是被復制而不是被移動。
快捷方式(.lnk)文件占了.dat文件中的大部分,因為.lnk文件很小並且沒有符號鏈接。
想使文件位於Windows文件夾之外,.dat文件是唯一的方式。