回 帖 发 新 帖 刷新版面

主题:[讨论]谁能逐一解释一下带参数和专用命令的批处理文件?

if "%1"=="" goto :noinput            #如果文件名为空白,转noinput。

:yesinput                            #否则转yesinput
if "%1"=="%_last%" goto :mklast         #如果文件名为??,转mklast
set _last=%1                        #?
goto :mknew

:noinput
if "%_last%"=="" goto :error            #?
goto :mklast

:mknew
echo.
echo About to build the entire BIOS...    #显示该字符串
echo.
touch bios.cfg                        #?
goto :mkbios

:mklast
echo.
echo Making the same version as last build

:mkbios
echo.
echo Building %_last%.BIN
echo.


getasl R                            #?

:R01 concopy bios.out nmake "NAME=%_last%" /nologo /f bios.mak        #?
nmake "NAME=%_last%" /M /nologo /f bios.mak    #?
if errorlevel 1 goto :end                #?
if exist awardeyt.rom cbrom6 /ygroup awardeyt.rom        ;R03?
echo.

:R01 if exist BuildFnt.mak concopy bios.out nmake "NAME=%_last%" /nologo /f BuildFnt.mak
if exist BuildFnt.mak concopy bios.out nmake "NAME=%_last%" /M /nologo /f BuildFnt.mak    
if errorlevel 1 goto :end

:R01 if exist AddFont.mak concopy bios.out nmake "NAME=%_last%" /nologo /f AddFont.mak
if exist AddFont.mak concopy bios.out nmake "NAME=%_last%" /M /nologo /f AddFont.mak    
if errorlevel 1 goto :end

if exist AddRom.bat call AddRom.bat
if exist %_last%.sav autocfg %_last%.sav %_last%.bin
CKCMOS /F

echo.
goto :end

:error
echo.
echo Error! No previous version to build. Use SETTYPE.BAT
echo        or type full part number
echo.
echo  Example (1):
echo.
echo      settype i810000                #?
echo      bios
echo.
echo  Example (2):
echo.
echo      bios i810000
echo.
goto :end

:end
多谢!
 

回复列表 (共4个回复)

沙发

详细的批处理讲解去http://www.cn-dos.net看看。
这个是我自己写的一个批处理,比较简单
MASM %1.ASM
@IF NOT EXIST %1.OBJ GOTO EXITS
LINK %1;
:EXITS

板凳

感谢您回贴,您的我看明白了:先汇编,如果 .OBJ 不存在(汇编不成功)就停止操作否则就连接.
但是复杂一点的就不懂了,能请您对我的?处注释一下么?

3 楼

你上面的命令没有说明好说的,一些是系统的命令,一些可能是自己的命令。
比如,我写的另一个BAT
MASM COS.ASM
@IF NOT EXIST COS.OBJ GOTO EXITS
LINK COS;
WROS
:EXITS
上面的WROS就是我写的程序。
关于批处理的详细文章你还是去我上面介绍的网站找下。
你是不是在看《BOIS研发技术剖析》这本书,那本书有什么好看的。

4 楼

主要是想请您就那个具体的例子,说明一下语法和BAT专用符号以及相当于几条DOS命令,因为好多教材只讲解某条语句的结果,并没有说明符号的语法作用,换一个,又不懂了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册