我正在写一个批处理文件,它验证了几个文件。当其中一个文件无效时,我希望批处理脚本停止并返回一个>0的错误代码。下面的代码似乎可以完成这项工作,但是调用"EXIT 2“会关闭运行脚本的命令提示符窗口。
:Validate
SETLOCAL
Validator %1
IF %ERRORLEVEL% GEQ 1 EXIT 2
ENDLOCAL你知道如何在不关闭命令提示符的情况下返回错误代码吗?
发布于 2013-02-16 09:28:09
要获取命令提示符命令的帮助,请使用其/?选项。Exit /?显示:
退出CMD.EXE程序(命令解释程序)或当前的批处理脚本。
退出/B
/B指定退出当前批处理脚本,而不是CMD.EXE。如果从批处理脚本外部执行,它将退出CMD.EXE
exitCode指定一个数字。如果指定了/B,则将ERRORLEVEL设置为该数字。如果退出CMD.EXE,则使用该数字设置进程退出代码。
所以你想
IF %ERRORLEVEL% GEQ 1 EXIT /B 2发布于 2013-02-16 09:19:36
您可以在调用exit之前使用pause命令。
如果你不喜欢这条消息:
pause > nul如果您不想关闭窗口,而只是返回到命令提示符,则应该使用
EXIT /B发布于 2014-08-22 13:55:11
也有同样的问题。如果您正在编写批处理(windows shell脚本)。'cmd‘应该能帮你解决这个问题。这将不会退出批处理,并保持在命令提示符处。解决了我的问题。对于ex:cd "\view\Flex Builder 3\gcc-mvn" set path="c:\view\jdk1.7.0_02\bin";"c:\view\apache-maven-3.0.5\bin";%path% mvn sonar:sonar cmd应该在执行后保持在提示符处。
https://stackoverflow.com/questions/14905876
复制相似问题