如何在DOSBox中用批处理文件实现选择打开Doom2或设置程序?
问题分析与修复方案
你的批处理代码存在两个关键问题,导致出现不符合预期的行为:
问题1:启动设置程序的命令拼写错误
代码中写的是SETDOM2.bat,但你实际要启动的是SETUP.EXE,这个拼写错误会导致输入2时系统找不到该文件,若DOOM2.bat在可执行路径中,可能误触发主程序启动流程(或报错后流程异常)。
问题2:多余的pause导致流程冗余
set /p之后的pause完全没必要,它会让用户输入选择后额外按一次任意键才执行判断,还可能让用户误以为输入未生效。
修正后的代码
@echo off echo 请选择要启动的程序: echo 1. DOOM2.EXE(主程序) echo 2. SETUP.EXE(设置程序) set /p choice=请输入你的选择(1或2): if "%choice%"=="1" ( rem 直接启动主程序,若用批处理封装则替换为 DOOM2.bat DOOM2.EXE ) else if "%choice%"=="2" ( rem 直接启动设置程序,若用批处理封装则替换为 SETUP.bat SETUP.EXE ) else ( echo 无效的选择,即将退出... pause exit /b )
额外优化建议
- 若你用批处理封装DOSBox启动参数,请确保
DOOM2.bat和SETUP.bat文件名拼写正确,且与当前批处理在同一目录下。 - 可以添加空输入判断,避免用户直接按回车导致的流程异常:
if "%choice%"=="" ( echo 请输入有效的选择(1或2)! pause exit /b )
内容的提问来源于stack exchange,提问作者Beefy Boi
相关产品推荐
相关产品推荐

