找回密码
 立即注册

微信扫码登录

使用验证码登录

QQ登录

只需一步,快速开始

查看: 341|回复: 7

[教程]如何用批处理启动游戏

[复制链接]

24

主题

127

回帖

1199

积分

金牌会员

积分
1199
发表于 2025-4-27 16:18:20 | 显示全部楼层 |阅读模式
本帖最后由 yue-no.3 于 2025-5-5 23:30 编辑

Win11-batch-file.jpg
引子

为什么需要批处理启动游戏呢?直接点exe启动不就好了?

实际情况是,总会遇到各种各样的问题

如果你用过windows开始菜单插件就会知道,很多插件并没有创建完整的上下文,但是很多游戏运行时依赖这个。最典型的就是Start11,很多学习版游戏,你直接添加快捷方式到Start11是有问题的,没法运行完整的上下文,也就是exe获取不到游戏运行目录,导致游戏直接报错不能运行。

再比如,你有台老电视,支持的最大分辨率只有4K30Hz,你玩游戏总要切换成1080P60Hz才行,但是你退出游戏又要切回来4K30Hz看剧,单个exe游戏是可以的,前端+模拟器就麻烦了,很多前端没有改分辨率功能,你运行的时候就会反复黑屏

还有一个最实用的用处是很多小白玩家会把游戏放到中文路径下运行,但是老外的很多模拟器都不支持中文路径,这个时候就需要检测了

如此种种,非常多……


下面列举一些常用代码,供参考:

防止批处理启动时弹出黑窗口
此代码放到脚本最开头。如果只是单纯的启动游戏,可以用这个代码。能防止弹黑窗口
  1. if "%1"=="hide" goto CmdBegin
  2. start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
  3. :CmdBegin
复制代码

检测游戏运行路径是否中文
检测中文路径的方法很多,这里随便举一例
  1. @echo off
  2. for /f "delims=" %%i in ('PowerShell '%~dp0' -match '[\u4E00-\u9FFF]'') do set a=%%i

  3. if "%a%"=="True" (
  4.     echo.安装路径不允许中文路径
  5.     pause
  6.     exit
  7. )
复制代码

完整上下文,防止Windows插件报错
Start11等插件必备技巧
  1. cd %~dp0
复制代码

切换分辨率,刷新率
windows并没有直接提供切换这类参数的批处理指令,但是可以借助第三方工具完成,常见的有:QRes、SetDpi、SetRes
这里以QRes为例:

4K160Hz
  1. SetRes.exe h3840 v2160 f160
复制代码

1080P60Hz
  1. SetRes.exe h1920 v1080 f60
复制代码
游戏退出时,执行操作
此代码用于游戏退出时的收尾工作,放到批处理最后即可
  1. echo %time:~,-3% 监控游戏运行…
  2. :loop
  3. timeout /t 2 >nul /nobreak
  4. tasklist | find /i "游戏文件名.exe" > nul
  5. if "%errorlevel%"=="1" (
  6.     echo %time:~,-3% 游戏已退出
  7.     此处编写你要执行的代码
  8. )
  9. goto loop
复制代码

游戏开始时,向弹出窗口发送ESC
部分游戏在启动时,会有弹窗,典型如最后生还者2的驱动提示窗口。每次都要手动关闭,这很讨厌。用脚本可以跳过

启动游戏脚本

  1. @echo off

  2. cd %~dp0
  3. start "" "tlou-ii.exe"

  4. timeout /t 5 /nobreak > nul
  5. cscript /nologo sendesc.vbs
  6. echo 已向当前活跃窗口发送 Esc 键。

  7. timeout /t 5 /nobreak > nul
复制代码
sendesc.vbs
  1. Set WshShell = CreateObject("WScript.Shell")
  2. WshShell.SendKeys "{ESC}"
复制代码
当然合并成一个也没问题,就是用echo发送到文件,然后执行完毕,再删了

其他还有很多,想到慢慢补充……




0

主题

12

回帖

602

积分

高级会员

积分
602
发表于 2025-4-27 16:22:33 | 显示全部楼层
厉害👍🏻
回复

使用道具 举报

24

主题

127

回帖

1199

积分

金牌会员

积分
1199
 楼主| 发表于 2025-4-27 16:30:48 | 显示全部楼层
论坛好像出问题了
编辑不能保存
先这样吧

152

主题

6315

回帖

1万

积分

论坛元老

独乐乐不如众乐乐,免费分享游戏光荣,贩卖游戏可耻,记住这句话的真正含义吧。

积分
13999

推广达人最佳新人

发表于 2025-4-27 16:43:49 | 显示全部楼层
进来学习一下

36

主题

2201

回帖

7143

积分

论坛元老

积分
7143
QQ
发表于 2025-4-27 17:46:24 来自手机 | 显示全部楼层
进来学习
回复

使用道具 举报

5

主题

66

回帖

971

积分

高级会员

积分
971
发表于 2025-4-27 17:50:31 | 显示全部楼层
进来学习学习

0

主题

315

回帖

3075

积分

论坛元老

积分
3075
发表于 2025-4-28 05:47:56 | 显示全部楼层
感谢分享
回复

使用道具 举报

3

主题

249

回帖

3078

积分

论坛元老

积分
3078
发表于 2025-4-28 06:57:20 来自手机 | 显示全部楼层
谢谢,必须收藏的教程!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|肖琪模拟游戏站 ( 沪ICP备2023018581号-5|沪公网安备31011702888952号 )

GMT+8, 2025-5-11 03:14 , Processed in 0.037162 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表