批处理程序判断命令返回结果
2009-12-29 11:51 Virus-BeautyCode 阅读(23481) 评论(0) 编辑 收藏 举报有时候我们会写一些批处理命令来辅助我们的工作,在批处理中要根据命令的返回值做一些判断,有分支的存在,这时候可以使用系统变量%errorlevel%,范例如下:
@echo on
dir c:\
echo "返回0说明运行成功,返回1说明运行失败"
set "err=%errorlevel%"
if "%err%"=="0" (
echo "sucess"
echo “你成功了”
) else(
echo "fail"
echo “你失败啊”
)
pause
说明如下:
@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命令无效
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构