|
分析了一下,是内存冲突引起的,把clear.bat改成下面就可以了:
!BAT
:调用前先设置变量OEMFILE
:默认:set OEMFILE=(fd1)/OEM
:
:定义文件
set OEMFILE || set OEMFILE=(fd1)/OEM
:目的是清理解释行
:定义清理区域,保证这个区域不被程序使用
set _ini_buf=0x2000000
cat --length=0 %OEMFILE% && set /a _ini_l=*0x8290
:
:清空区域
set _ini_buf && map --rd-base=%_ini_buf% && map --rd-size=%_ini_l%
:
:清理;开头及#的注释行
WENV get _ini_l ]]& for /f "eol=; delims=" %i in ( ${OEMFILE} ) do echo %i > (rd)+1
set OEMFILE && FAT copy /o (rd)+1 %OEMFILE%
:程序默认已去除#开头的行了,所以下面两行可以去掉
WENV get _ini_l ]]& for /f "eol=# delims=" %i in ( ${OEMFILE} ) do echo %i > (rd)+1
set OEMFILE && FAT copy /o (rd)+1 %OEMFILE%
:
WENV (reset _ini_* ; reset OEMFILE) |
|