批处理文件-如何在不关闭命令提示符窗口的情况下返回错误代码



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

:Validate
SETLOCAL
Validator %1
IF %ERRORLEVEL% GEQ 1 EXIT 2
ENDLOCAL

你知道如何在不关闭命令提示符的情况下返回错误代码吗?

要获得命令提示符命令的帮助,请使用它们的/?选项Exit /?显示:

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

EXIT[/B][exitCode]

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

exitCode指定一个数字。如果指定了/B,则设置ERRORLEVEL该数字。如果退出CMD.EXE,则设置进程该号码的退出代码。

所以你想要

IF %ERRORLEVEL% GEQ 1 EXIT /B 2

您可以在调用exit之前使用pause命令。

如果你不喜欢这个消息:

pause > nul

如果你不想关闭窗口,只是回到命令提示符,你应该使用

EXIT /B

遇到了同样的问题。如果您正在编写批处理(windowsshell脚本)cmd'应该为您完成此操作。这不会退出批处理,并保留在命令提示符下。解决了我的问题。例如: cd "viewFlex Builder 3gcc-mvn" set path="c:viewjdk1.7.0_02bin";"c:viewapache-maven-3.0.5bin";%path% mvn sonar:sonar cmd 应在执行后保持提示。

相关内容

  • 没有找到相关文章

最新更新