You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

bat脚本选择对应启动选项后如何自动关闭cmd窗口

问题根因

当前脚本选中对应模式启动游戏后,末尾写了GOTO Start逻辑,会直接跳转回初始选择菜单,因此cmd窗口会一直驻留无法自动关闭。

解决方法

将两个启动分支末尾的GOTO Start替换为exit命令即可。start是异步启动指令,不会等待游戏进程退出,执行到exit时就会自动关闭当前cmd窗口。
额外补了简单的非法输入容错,避免输入非1/2的内容时脚本报错跳出,你也可以根据自己的需求保留原有判断逻辑。

修改完成的完整代码

@echo off
cls
:start
echo.
echo 1. Multiplayer
echo 2. Singleplayer
echo.
echo.
set /p x=Pick:
:: 输入非1/2的内容时回到选择页,避免报错
if not "%x%"=="1" if not "%x%"=="2" goto start
GOTO Item_%x%

:Item_1
start /MIN /D"D:\games\Battlefield 2142 - Deluxe Edition\mods\bf2142\Tools\BF2142Unlocker64" BF2142Unlocker.exe
exit

:Item_2
start /MIN /D"D:\games\Battlefield 2142 - Deluxe Edition" BF2142_offline_4gb.exe
exit
注意点
  • 原脚本里的Singeplayer存在拼写错误,上面代码里修正为了正确的Singleplayer,不需要的话可以自行改回
  • 路径里的双引号直接用英文半角双引号即可,不需要转义
  • 如果不需要非法输入判断,保留你原来的IF '%x%' == '%x%' GOTO Item_%x%判断逻辑也能正常实现启动后关窗的效果,只是输错选项会弹出找不到对应标签的报错

内容的提问来源于stack exchange,提问作者sanjiamca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:06:24