bat调用bat注意事项(不带上参数 /b 时 会直接退出)

■前言

bat调用bat代码学习

■发现的问题

代码一运行,就直接退出,屏幕一闪而过。(期待命令行窗口停住,因为代码里面有pause)

■原因

被调用的代码中,运行了不带任何参数的exit,从而导致命令行窗口直接退出

■解决

被调用的bat程序退出时,带上参数 /b

■代码

调用源

@echo off

cd /d %~dp0

rem call method.bat 0
call method.bat 0
set flag0=%ERRORLEVEL%
echo %flag0%

call  method.bat 1
set flag1=%ERRORLEVEL%
echo %flag1%

call  method.bat 2
set flag2=%ERRORLEVEL%
echo %flag2%
pause

被调用代码

(使用第九行被注释的代码时,出现了上面记述的问题,直接推出了。。。

    最初的写,第九行代码的目的是,想看一下,

    如果不指定什么返回值,调用源的ERRORLEVEL是如何显示的。

    结果发现,不能这么写。)

@echo off

set param=%1

if %param%==1 goto ERROREXIT1

if %param%==2 goto ERROREXIT2

rem exit
exit /b 99

:ERROREXIT1
exit /b 1
exit

:ERROREXIT2
exit /b 2
exit

■运行效果

99
1
2
请按任意键继续. . .

■帮助文档

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

EXIT [/B] [exitCode]

  /B          指定要退出当前批处理脚本而不是 CMD.EXE。如果从一个
              批处理脚本外执行,则会退出 CMD.EXE

  exitCode    指定一个数字号码。如果指定了 /B,将 ERRORLEVEL
              设成那个数字。如果退出 CMD.EXE,则用那个数字设置
              过程退出代码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值