我的剧本结果很奇怪。
@echo off
cls
@echo on
sc query Apache2.2| find /I "running"> NUL
if %errorlevel%==0 goto :ServRUN
echo Apache2.2 is not Executing...
goto :ServSTOP
:ServRUN
echo Apache2.2 is Executing...
:ServSTOP
使用我的CMD,结果就是_
C:\Users\CQ2404LA>sc query Apache2.2 | find /I "running"
C:\Users\CQ2404LA>
我的Echo是 Apache2.2正在执行......
但是试图检查我有这个
sc query Apache2.2 | find /I "running" 1>NUL
if 0 == 0 goto :ServRUN
echo Apache2.2 is not Executing...
goto :ServSTOP
我有疑问:
1,当命令结果为空时产生错误(存储在errorlevel中)?
2,有时候,echo仍为ON(命令或操作未显示),何时,为什么?
3,有时,操作结果(sc查询Apache2.2 | find / I“运行”)为空(相当于服务未运行),但在http:// IPLocal中测试服务服务已启动(会发生什么)
修改
sc query Apache2.2 | find /I "running" 1>NUL
if 0 == 0 goto :ServRUN
没有提出错误级别! (0 == 0)必须是(1 == 0)