巧用SRDISK处理FOXPRO程序的临时文件

Author: 方新沪 Date: 1997-01-01

  执行用FOXPRO编写的程序,会产生文件名如33474304、TMP之类的临时文件,程序退出后即无用。这类文件越积越多,不但会多占硬盘空间,用户生成、读取、最后删除这些文件,也要增加硬盘磨损。虽可将其指定存放于由MS-DOS的RAMDRIVE.SYS建立的虚拟盘中,但又占去了一大块内存;这种虚拟盘的撤消和重建,均需修改CONFIG.SYS并重新启动,不胜其烦。
  解决这个问题的最佳方法是使用SRDISK。SRDISK也是虚拟盘,但建立和撤消时不改写CONFIG.SYS,也无须启动机器。
  具体操作步骤是:
  一、在CONFIG SYS中写入装载设备驱程序的语句,如DEVICEHIGH=C:\SRDISK\SRDXMS SYS,将虚拟盘设在扩充内存(XMS)中,如硬 盘原有两个分区C和D,这时就增加了一个虚拟E盘,相当于新装了一个软驱,还未放入软盘,故只有驱动程序占用IK内存。
  二、在AUTOEXEC.BAT中写入c:\srdisk\srdisk 0。SRDISK.EXE是用来控制设备驱动程序SRDXMS.SYS、设置虚拟盘尺寸并对其进行操作的,但因参数用的是0,此时未增加任何内存开销。
  三、在FOXPRO的配置文件CONFIG.FP中,添加一句:tmpfile=e:,将临时文件指定存入虚拟E盘。
  四、如有FOXPRO程序STOCK.PRG存放于D盘子目录STOCK中,建立调用它的批文件STOCK.BAT,内容如下:
  @echo off
  d:
  cd\stock
  c:\srdisk\srdisk/f:360>nul
  fox stock
  c:\srdisk\srdisk 0>nul
  执行批文件,首先将E盘扩容至360K,之后运行STOCK.PRG(实际运行的是自动编译的STOCK FXP)时,所生成的.TMP文件就全都存于虚拟盘中,待退出FOXPRO环境,又自动清除虚拟盘中临时文件,虚拟盘尺寸复归于0,所占内存全部释放。