找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19613|回复: 1

[文本处理] 批处理文件errorlevel返回值为何出错?

[复制链接]
发表于 2012-5-21 15:07:21 | 显示全部楼层 |阅读模式
  1. @echo off

  2. tasklist | find /i "1QQ.exe"

  3. if errorlevel 1 goto nothing
  4. if errorlevel 0 goto find

  5. :nothing
  6. echo %errorlevel%,"没找到,没找到"
  7. goto end

  8. :find
  9. echo %errorlevel%,"找到了,找到了"
  10. goto end

  11. :end
  12. pause
复制代码
执行上面这段脚本,查询QQ.exe是否在任务列表里,QQ.exe被我改成了1QQ.exe,返回当然是[1,没找到,没找到]
但如果这样换下顺序
if errorlevel 0 goto find
if errorlevel 1 goto nothing
再执行的话,却显示[1,找到了,找到了]
返回值明明是1,却为什么显示找到了呢,小弟想不明白,求解释,谢谢!
发表于 2012-5-21 15:55:14 | 显示全部楼层
if errorlevel 0 goto find等同于if %errorlevel% geq 0 goto find
这样试试:
  1. if "%errorlevel%"=="0" goto find
  2. if "%errorlevel%"=="1" goto nothing
复制代码

评分

参与人数 1技术 +1 收起 理由
wbloxyfe + 1 多谢指点

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 06:06 , Processed in 0.017828 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表