如何在不关闭命令提示符窗口的情况下返回错误代码?

Mar*_*tin 16 windows dos batch-file command-prompt

我正在编写一个批处理文件来验证几个文件.当其中一个文件无效时,我希望批处理脚本停止并返回错误代码> 0.下面的代码似乎可以完成这项工作,但调用"EXIT 2"将关闭运行脚本的命令提示符窗口.

:Validate
SETLOCAL
Validator %1
IF %ERRORLEVEL% GEQ 1 EXIT 2
ENDLOCAL
Run Code Online (Sandbox Code Playgroud)

有关如何在不关闭命令提示符的情况下返回错误代码的任何想法?

Han*_*ant 44

要获得命令提示符命令的帮助,请使用他们的/?选项. Exit /?说明:

退出CMD.EXE程序(命令解释程序)或当前批处理脚本.

退出[/ B] [exitCode]

/ B指定退出当前批处理脚本而不是CMD.EXE.如果从批处理脚本外部执行,它将退出CMD.EXE

exitCode指定一个数字.如果指定了/ B,则将ERRORLEVEL设置为该数字.如果退出CMD.EXE,请使用该编号设置进程退出代码.

所以你要

IF %ERRORLEVEL% GEQ 1 EXIT /B 2
Run Code Online (Sandbox Code Playgroud)