麻烦给解释一下这段代码每句的意思。求详细解释。

@ECHO OFF
CLS
IF EXIST C:\ERROR\ERROR.ERR DEL C:\ERROR\ERROR.ERR
IF EXIST C:\FRUCHK\MBFRU.TXT DEL C:\FRUCHK\MBFRU.TXT
IF EXIST C:\FRUCHK\DUMP_ID.TXT DEL C:\FRUCHK\DUMP_ID.TXT
SET DUMPID=
SET INSTID=
REM # M/B FRU CHECK #
CD C:\FRUCHK
fwtool fru read 0 >MBFRU.TXT <Y.KEY
:FRUCHK
ECHO.
ECHO 屯屯屯屯屯屯屯屯突
ECHO ? ?
ECHO ? Please Install M/B Serial Number !!! ?
ECHO ?
ECHO 韧屯屯屯屯屯
ECHO.
INPUT INST_ID.TXT 14
IF ERRORLEVEL 1 GOTO FRUCHK
@ECHO.>>INST_ID.TXT
GREP "M/B Serial" MBFRU.TXT > DUMP_ID.TXT
TYPE DUMP_ID.TXT | GET4PROD ZE 29 /W15 /VDUMPID=
TYPE INST_ID.TXT | GET4PROD ZE 0 /W15 /VINSTID=
IF "%DUMPID%"=="%INSTID%" GOTO FRUPASS
:FRUPASS
CLS
ECHO 赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯
ECHO ? ?
ECHO ? Tester Install Serial Number =="%INSTID%" ?
ECHO ? The EEPROM DUMP Serial Number =="%DUMPID%" ?
ECHO ? M/B Serial Number Check PASS !!! PASS !!! ?
ECHO ? ?
ECHO 韧屯屯
ECHO.
CM_POF 0
ECHO *** M/B Serial Number Check Pass!!****
CLS
:PART_CHK
ECHO.
ECHO 赏屯
ECHO ? ?
ECHO ? Please Install M/B Part Number !!! ?
ECHO ? ?
ECHO 韧屯
ECHO.
SET PART=
SET PARTID=31S2JMB0000
GREP "M/B Part Number" MBFRU.TXT > PART.TXT
TYPE PART.TXT | GET4PROD ZE 29 /W11 /VPART=
IF "%PART%"=="%PARTID%" GOTO FRU_PS
:PART_FAIL
CLS
CM_POF 1
ECHO **** M/B Manufacturing M/B Part Number Check Fail !!****>>C:\ERROR\ERROR.ERR
ECHO ***** M/B Set The Wrong M/B Part Number "%PART%"!! **** >>C:\ERROR\ERROR.ERR
TYPE C:\ERROR\ERROR.ERR
GOTO FAIL
:FRU_PS
CLS
CM_POF 0
ECHO *********** M/B Serial Number Check Pass !! *************
ECHO *********** M/B Manufacturing M/B Part Number Check Pass !! ************
:DATECHK
SET EXP_DATE=2012
GREP "M/B Manufacturing Date/Time" MBFRU.TXT > DATE.TXT
TYPE DATE.TXT | GET4PROD ZE 54 /W4 /VDP_DATE=
IF %DP_DATE% ==%EXP_DATE% GOTO DATEPASS
:DATEFAIL
ECHO *********M/B Manufacturing Date/Time Check Fail !! **************
ECHO *********M/B Manufacturing Date/Time Check Fail !! ************>>C:\\ERROR\ERROR.ERR
TYPE C:\ERROR\ERROR.ERR
GOTO FAIL
:DATEPASS
CM_POF 0
ECHO *********** M/B Serial Number Check Pass !! *************
ECHO *********** M/B Manufacturing M/B Part Number Check Pass !! ************
ECHO *********** M/B Manufacturing Date/Time Check Pass !! ***************
GOTO END
:FAIL
CM_POF 1
ECHO *********** M/B FRU TEST FAIL !! ************* >> C:\ERROR\ERROR.ERR
TYPE C:\ERROR\ERROR.ERR

这是批处理语句,可以直接运行的,不幸的是你用另一种编码方式打开了。所以其中的汉字部分是不对的,你试着用ANSI/UNICODE/UTF-8几种方式打开来看一下,有一种情况汉字是不会乱码的。那种情况就是正确。

该批处理的主要功能是验证M/B的序列号,其中各语句你对着语法查一上,没有任何难点的。追问

IF EXIST C:\ERROR\ERROR.ERR DEL C:\ERROR\ERROR.ERR
这是什么意思啊? 为什么要删除呢?

追答

要重新生成文件。

在批处理中有两个写入管道,一个是>,表示覆盖写入,>>表示追加写入。如果在批处理运行时要写入不同的内容,在不同的时间,就必须要使用追加写入,但如果但必须覆盖掉上次批处理运行的文件,那么只有先进行>写入后,运行中使用>>追加写入。但并不能确定一定执行>时最好先进行删除。这样会使得程序变得易读些。其实如果你将每次删除的语句都换成>写入一个空字符时作用是一样的。唯一的区别就是,如果不出现错误时,不允许有error文件时,就必须将文件过行删除。

所以使用删除只是为了清楚,批处理上次运行的结果而已。

温馨提示:答案为网友推荐,仅供参考
相似回答