Batch file Windows嵌入式Compact 7-使用批处理文件-错误级别不可能?

Batch file Windows嵌入式Compact 7-使用批处理文件-错误级别不可能?,batch-file,cmd,windows-ce,errorlevel,Batch File,Cmd,Windows Ce,Errorlevel,我尝试使用ERRORLEVEL编写批处理文件。 不幸的是,它不起作用(或者不如不按我预期的方式起作用) 似乎ERRORLEVEL不能作为环境变量使用 在cmd上: 如果%errorlevel%==0回波测试 结果: 无回声 在cmd上: 如果%errorlevel%==%errorlevel%回显测试 结果: 试验 在cmd上: 回显%errorlevel% 结果: %错误级别% 阅读有关使用setlocal的内容,但无法执行setlocal 有什么想法吗? 提前谢谢你 ERRORLEVEL需要

我尝试使用ERRORLEVEL编写批处理文件。 不幸的是,它不起作用(或者不如不按我预期的方式起作用)

似乎ERRORLEVEL不能作为环境变量使用

在cmd上: 如果%errorlevel%==0回波测试

结果: 无回声

在cmd上: 如果%errorlevel%==%errorlevel%回显测试

结果: 试验

在cmd上: 回显%errorlevel%

结果: %错误级别%

阅读有关使用setlocal的内容,但无法执行setlocal

有什么想法吗?
提前谢谢你

ERRORLEVEL
需要执行一个过程或功能才能显示输入。比如说,你想Ping谷歌,如果成功,它会打印出“Good”,如果失败,它会打印出“Bad”,这就是
ERRORLEVEL
生效的地方。如果进程或函数不存在,则不能使用
ERRORLEVEL

从上面的代码中可以看出,这涉及到一个过程


如果有机会,您也可以查看我的博客吗?

使用旧语法请参见
if/?
。命令
ìf errorlevel 1
意味着大于或等于1。我已经编写了很多批处理文件,但从未在IF条件下使用
%errorlevel%
,因为根本不需要。请参阅Microsoft支持文章。一般来说,对于上一个命令/应用程序的退出代码,如果错误级别1大于或等于1,或者对于退出代码,如果错误级别1小于或等于0(或更低),则
就足够了,并且在命令块内工作,不会延迟扩展。我不知道有哪个应用程序是以负值退出的。这将违反所有操作系统关于退出值的指导原则。谢谢,因为似乎并不是所有命令都会给出错误级别。我将使用“IF EXIST”调整批处理文件,以双重检查文件是否存在。谢谢大家的支持。
echo off
goto :pingtest
cls

:pingtest
cls
ping www.google.com 
if errorlevel 2 goto :good
if errorlevel 1 echo :bad

:good
cls
echo Good
echo[
pause

:bad
cls
echo Bad
echo[
pause