use*_*646 5 windows cmd batch-file call exit
我有4个批处理文件,假设a.bat,b.bat,c.bat和d.bat.现在调用这些批处理文件的方式是a.bat调用b.bat,b.bat调用c.call等等.
如果我在任何批处理文件中出现任何错误,我想通过说出错误退出整个程序,并提出哪个批处理文件有问题.我的问题是,我该怎么做?
我在这里使用exit /b但它只从当前的批处理文件中退出并从那里调用后移回批处理文件:
@echo. off
echo. this is batch 'a'
call b.bat
Run Code Online (Sandbox Code Playgroud)
@echo. off
echo. this is batch 'b'
call c.bat
Run Code Online (Sandbox Code Playgroud)
@echo. off
echo. this is batch 'c'
Run Code Online (Sandbox Code Playgroud)
我在批处理'C'中出错 - 它应该报告错误并退出,但它会以某种方式回到批处理'B'.有关如何退出嵌套批处理文件的任何想法?
您可以使用语法错误,这会立即停止批处理而不关闭命令窗口.
该:HALT函数调用的:__halt函数只剿错误消息.
C.BAT
@echo off
echo this is batch 'c'
echo An error occurs
call :HALT
exit /b
:HALT
call :__halt 2> nul
exit /b
:__halt
()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4295 次 |
| 最近记录: |