我创建了一个简单的批处理文件,使我能够连接到互联网。
我是这样做的-如果连接成功,则使用 VBscript 显示一条消息,说明“连接成功”,如果未建立连接,则显示一条消息,说明“连接失败”。我使用 if-else 语句和 errorlevel 命令完成了此操作,但我无法使用“errorlevel == 1”命令显示失败消息。我的意思是如果连接过程中出现错误,则会显示成功消息而不是失败信息。
这是我的批处理文件中的代码。
rasdial "TATA PHOTON+" internet
@echo off
if ERRORLEVEL == 0 (echo MSGBOX "Connection successfully established to TATA PHOTON+" > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del %temp%\TEMPmessage.vbs /f /q)
else if ERRORLEVEL == 1 (echo MSGBOX "ERROR: Unable to establish connection" > %temp%\TEMPmessage.vbs
call %temp%\TEMPmessage.vbs
del %temp%\TEMPmessage.vbs /f /q
)
最佳答案
线路
if errorlevel == 0 do-something
不是有效语法。基于一些快速测试,命令处理器似乎正在将其重新解释为
if errorlevel 0 do-something
意思是“如果错误级别至少 0 做某事”。
相反,我建议
if %ERRORLEVEL% EQU 0 do-something
使用百分号版本可以让您测试是否相等,还可以正确处理返回值为负的情况。
关于windows - 如果错误级别不为零,如何在批处理文件中执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29714466/