标题: 这个批处理文件哪儿有问题
[打印本页]
作者: xuan5272095
时间: 2003-8-23 00:00
标题: 这个批处理文件哪儿有问题
这是我仿照书上列子遍的*.bat文件,可运行时会出错,
请帮我看看
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:\windows\defrag.exe
goto end
:mem
mem
goto end
:end
echo good bye
运行后选d或m都没错,选e会出现选d的结果
[此贴子已经被作者于2003-8-23 16:07:24编辑过]
作者: willsort
时间: 2003-9-6 00:00
Re xuan5272095:
很明显是个输入错误:
if errotlevel 3 goto end -> if errorlevel 3 goto end
作者: iceboy
时间: 2003-9-6 00:00
进行选择: choice /c:dme defrag,mem,end (没错)
选择 end (errorlevel 1)
if errorlevel 3 goto defrag -- errorlevel 小于 3,跳过
if errorlevel 2 goto mem -- errorlevel 小于 2,跳过
if errotlevel 1 goto end -- 错误语句,跳过并显示错误信息
:defrag -- 标签,跳过
c:\windows\defrag.exe -- 执行
goto end -- 到结尾
这就是选e会出现选d的结果的原因
加一句 goto error
Quote: |
if errorlevel 3 goto defrag
if errorlevel 2 goto mem
if errotlevel 1 goto end
goto error
然后做一个 error 项
:error
ECHO Choice.com not found
goto end |
|
可以避免找不到 choice.com 而发生的错误 (同时 BAT 写错的情况也会显示错误信息)
[此贴子已经被作者于2003-9-6 22:23:45编辑过]