如何通过批处理文件获取程序处理多输入的各自返回状态码?
解决批处理逐个获取除法运算状态的方法
要实现每个数字单独返回运算状态,核心是把一次性传入多个数字的调用拆成逐个调用——你的division.exe在一次性接收多个数字时,只会返回最后一次运算的错误码,所以必须拆分调用才能拿到每个数字对应的状态。
修改后的批处理脚本
@echo off setlocal enabledelayedexpansion :: 定义需要处理的数字列表 set "numbers=5,0,10,45" :: 循环遍历每个数字并单独调用程序 for %%n in (%numbers%) do ( division.exe divide-100 -numbers %%n if !ERRORLEVEL! == 0 ( echo Success. ) else ( echo Failed. ) ) endlocal
关键细节说明
- 启用延迟变量扩展:用
setlocal enabledelayedexpansion开启延迟扩展,循环内部用!ERRORLEVEL!而非%ERRORLEVEL%,确保每次循环都能获取当前调用的实时错误码。 - 逐个传入数字:通过
for循环拆分数字列表,每次仅传入一个数字给division.exe,让程序单独处理每个运算并返回对应状态。 - 实时输出状态:每次调用程序后立即判断错误码,直接输出当前数字的运算结果状态。
如果你的division.exe支持单个数字作为-numbers参数输入,运行脚本后会得到你需要的输出:
Success.
Failed.
Success.
Success.
内容的提问来源于stack exchange,提问作者AniAxe
相关产品推荐
相关产品推荐

