zoukankan      html  css  js  c++  java
  • 批处理中的错误处理机制,可以用于判决命令返回值并分流处理

    @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命令无效

  • 相关阅读:
    C# 类动态添加属性、方法(Z)
    WPF三大模板简介(Z)
    C# mongodb 驱动操作(Z)
    解析Exception和C#处理Exception的常用方法总结
    创建 WPF 工具箱控件
    WPF 线程 Dispatcher
    Path
    C#操作字符串方法总结<转>
    P2058 海港
    P2234 [HNOI2002]营业额统计
  • 原文地址:https://www.cnblogs.com/youlechang123/p/2191507.html
Copyright © 2011-2022 走看看