文件系统文件(.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 IMGINCLUDEAPPSDirectory("/Program Files"):-Directory("My Projects")ENDIFIF IMGNOACC !Directory("/Program Files"):-Directory("Accessories")ENDIFDirectory("/Program Files"):-Directory("Communication") 在这个例子中,如果在运行Makeimg.exe之前用户自定义的环境变量IMGINCLUDEAPPS被设置,那么My Projects文件夹将被包含到目标设备上。如果IMGNOACC变量没被设置,Accessories文件夹将被包含,Communication文件夹被不依赖于任何环境变量的设置而被包含到目标设备上。它们会自动的出现在Windows下。 在设备启动的时候,操作系统分析.dat文件中的这些信息,然后在正确的位置创建文件夹,复制文件。处理的结果被存储在RAM中,在.dat文件中列出的项目是被复制而不是被移动。 快捷方式(.lnk)文件占了.dat文件中的大部分,因为.lnk文件很小并且没有符号链接。 想使文件位于Windows文件夹之外,.dat文件是唯一的方式。
本文来自博客,转载请标明出处:http://blog.csdn.net/caowenbin/archive/2007/12/08/1924108.aspx