斑竹的msdos710启动盘很好用,但是如果要想运行硬盘上的windows98就需要手动进入windows98安装路径,运行之,小女子写了一个ndos的批处理程序用来自动调用硬盘中的win98.
工作原理如下:程序先找到c:\msdos.sys,然后通过循环方式对msdos.sys文件中的每一行文字进行一一排查,如果找到“WinDir=”语句,就将其设置为变量,并退出循环,根据windir的对应值找到win98的安装路径,并运行win98.
在此抛砖引玉,希望大家多多努力。这个程序也可以使用xset代替ndos完成。
其中涉及到的几个ndos内部函数如下:
%@lines 用于返回文件的行数
%@line 用于返回文件指定行的内容
%@len 用于返回字符串的长度
%@eval 用于返回+-*/运算的结果
%@substr 用于返回字符串起始位置开始的n个字符
%变量名称% 返回变量内容
要想在msdos710环境运行可以输入“ ndos /c loadwin ” 运行
loadwin.bat 程序内容如下:
*********************************************
@echo off
setlocal
if not exist c:\msdos.sys goto error
set x=%@lines
set y=0
:loop
set winx1=%@line
if %y%*==%x%* goto error
set l=%@eval-7]
set winx=%@substr
if #%winx%#==#WinDir# goto setdir
set y=%@eval
goto loop
:setdir
set winx2=%@substr
set winx3=%@substr
%winx3%
cd %winx2%
path %winx2%;%winx2%\command
set x=
set y=
set l=
set winx1=
set winx2=
set winx3=
set winx=
WIN /D:N
:error
echo ERROR ! windows_9x_Path unknowed !!!
echo 1.THERE IS NOT C:\MSDOS.SYS!
ECHO 2.C:\MSDOS.SYS can not load Windows9x!
ECHO Press any key to continue!
PAUSE>NUL
goto end
:end
endlocal
quit
***************************************************
工作原理如下:程序先找到c:\msdos.sys,然后通过循环方式对msdos.sys文件中的每一行文字进行一一排查,如果找到“WinDir=”语句,就将其设置为变量,并退出循环,根据windir的对应值找到win98的安装路径,并运行win98.
在此抛砖引玉,希望大家多多努力。这个程序也可以使用xset代替ndos完成。
其中涉及到的几个ndos内部函数如下:
%@lines 用于返回文件的行数
%@line 用于返回文件指定行的内容
%@len 用于返回字符串的长度
%@eval 用于返回+-*/运算的结果
%@substr 用于返回字符串起始位置开始的n个字符
%变量名称% 返回变量内容
要想在msdos710环境运行可以输入“ ndos /c loadwin ” 运行
loadwin.bat 程序内容如下:
*********************************************
@echo off
setlocal
if not exist c:\msdos.sys goto error
set x=%@lines
set y=0
:loop
set winx1=%@line
if %y%*==%x%* goto error
set l=%@eval-7]
set winx=%@substr
if #%winx%#==#WinDir# goto setdir
set y=%@eval
goto loop
:setdir
set winx2=%@substr
set winx3=%@substr
%winx3%
cd %winx2%
path %winx2%;%winx2%\command
set x=
set y=
set l=
set winx1=
set winx2=
set winx3=
set winx=
WIN /D:N
:error
echo ERROR ! windows_9x_Path unknowed !!!
echo 1.THERE IS NOT C:\MSDOS.SYS!
ECHO 2.C:\MSDOS.SYS can not load Windows9x!
ECHO Press any key to continue!
PAUSE>NUL
goto end
:end
endlocal
quit
***************************************************
