• 批处理中的错误处理机制,可以用于判决命令返回值并分流处理


    @echo off
    dir z:
    IF ERRORLEVEL 1 goto 1
    IF ERRORLEVEL 0 goto 0
    goto C
    :0
    echo 命令执行成功!
    goto C
    :1
    echo 命令执行失败!
    goto C

    :C
    echo 判断ERRORLEVEL返回号应该由高到低
    PAUSE


    或者
    @echo off
    dir c:
    set "err=%ERRORLEVEL%"
    IF "%err%"=="0" goto 0
    IF "%err%"=="1" goto 1
    goto C
    :0
    echo 命令执行成功!
    goto C
    :1
    echo 命令执行失败!
    goto C

    :C
    echo 将ERRORLEVEL返回号定义到一个变量由if判断
    PAUSE

    补充回答:返回值是多少在程序执行完后用echo %ERRORLEVEL%来查看该值, 每个命令基本返回值0或1(0成功1失败)特别是内部命令,不能一概的说是系统规定的,而是命令所指定的,第三方命令(外部命令)会提供多个甚至几十个返回值但最多 256±1 个返回值,各命令的返回值含义可能各不相同,其返回值含义及用法在此程序开发者原始自述文中有说明。

    举例:
    xcopy test.txt y:
    if errorlevel 5 echo 出现了磁盘写入错误
    if errorlevel 4 echo 出现了初始化错误
    if errorlevel 2 echo 用户按CTRL+C终止
    if errorlevel 1 echo 文件复制失败
    if errorlevel 0 echo 文件复制成功

    xxxx.exe 2>nul
    if %errorlevel%==9009 xxxx.exe命令无效

  • 相关阅读:
    字符串排序算法总结
    子字符串匹配常用算法总结
    springboot拦截器
    springboot 双 sqlite 数据源配置
    myeclipse springboot 配置帆软报表
    保存在session中的登陆信息无故丢失的解决办法
    删除多条商品
    前台验证邮箱不能重复
    mybatis两张表关联关系映射
    蚂蚁金服支付平台代码配置
  • 原文地址:https://www.cnblogs.com/youlechang123/p/2191507.html
Copyright © 2020-2023  润新知