我做这样的事情:
echo 1-exit
echo 2-about
echo 3-play
choice /c 123 >nul
if errorlevel 1 goto exit
if errorlevel 2 goto about
if errorlevel 3 goto play
:play
blah
:about
blah
:exit
cls
Run Code Online (Sandbox Code Playgroud)
如果我选择"播放"选项,它将退出.我该如何防止这种情况发生?
该if errorlevel表达式评估为真,如果通过选择返回实际的错误水平大于或等于给定值.因此,如果您点击3,则第一个if表达式为true并且脚本终止.请致电help if了解更多信息.
有两个简单的解决方法.
第一个(更好) - 用给定值if errorlevel的%ERRORLEVEL%系统变量的实际比较替换表达式:
if "%ERRORLEVEL%" == "1" goto exit
if "%ERRORLEVEL%" == "2" goto about
if "%ERRORLEVEL%" == "3" goto play
Run Code Online (Sandbox Code Playgroud)
第二个 - 改变比较顺序:
if errorlevel 3 goto play
if errorlevel 2 goto about
if errorlevel 1 goto exit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8959 次 |
| 最近记录: |