关于批处理的一个问题,批处理高人请进!
众所周知,if命令中有个命令叫errorlevel,而这errorlevel后面一向要加个叫什么DOS错误码或叫DOS返回值的东西!我在网上搜了一下,好象这错误码是1-2...
众所周知,if命令中有个命令叫errorlevel,而这errorlevel后面一向要加个叫什么DOS错误码或叫DOS返回值的东西!我在网上搜了一下,好象这错误码是1-255之间的一个数!但我实在是高不懂什么是DOS错误码!这如何查看到的呢!或是知道的呢!
我写了一个批处理,也就是“ if errorlevel X 命令 ”这样格式的!前几天,我这批处理能顺利的执行了命令,但今天却怎么也执行不了命令!if判断的条件已经成立了啊!为什么批处理不能顺利执行呢!
于是我想,可能是在这个DOS错误嘛上的原因吧!于是把errorlevel 0 改为errorlevel 1或是errorlevel2!但批处理还是无法顺利的执行!
我在网上看到的批处理教程里看到一句话!“IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值”那这上一个DOS命令的返回值是多少,这怎么才能知道呢! 展开
我写了一个批处理,也就是“ if errorlevel X 命令 ”这样格式的!前几天,我这批处理能顺利的执行了命令,但今天却怎么也执行不了命令!if判断的条件已经成立了啊!为什么批处理不能顺利执行呢!
于是我想,可能是在这个DOS错误嘛上的原因吧!于是把errorlevel 0 改为errorlevel 1或是errorlevel2!但批处理还是无法顺利的执行!
我在网上看到的批处理教程里看到一句话!“IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值”那这上一个DOS命令的返回值是多少,这怎么才能知道呢! 展开
2个回答
展开全部
::%errorlevel%是上一条命令的返回值
::复制以下代码保存为bat文件运行
@echo off
dir c:\>nul
echo dir c:\ 命令的返回值是 %errorlevel%
dir z:\>nul 2>nul
echo dir z:\ 命令的返回值是 %errorlevel%
echo.&pause
::用if判断如下
::如果返回值是0就跳转到标签li处
::如果返回值是1就显示 "没有执行跳转标签"
dir c:\>nul
if %errorlevel% equ 0 goto li
echo 没有执行跳转标签
echo.&pause
exit
:li
echo.
echo 返回值是 %errorlevel% 以执行跳转标签
echo.&pause
::复制以下代码保存为bat文件运行
@echo off
dir c:\>nul
echo dir c:\ 命令的返回值是 %errorlevel%
dir z:\>nul 2>nul
echo dir z:\ 命令的返回值是 %errorlevel%
echo.&pause
::用if判断如下
::如果返回值是0就跳转到标签li处
::如果返回值是1就显示 "没有执行跳转标签"
dir c:\>nul
if %errorlevel% equ 0 goto li
echo 没有执行跳转标签
echo.&pause
exit
:li
echo.
echo 返回值是 %errorlevel% 以执行跳转标签
echo.&pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询