如何编写批处理文件适配Roblox更新后的可变版本目录?
解决Roblox更新后版本目录变化导致批处理失效的问题
方案1:自动匹配任意version-开头的有效目录
这个脚本会遍历Roblox的Versions目录,自动找到包含RobloxPlayerLauncher.exe的版本目录并启动程序,无需手动修改版本号:
@echo off set "roblox_dir=C:\Program Files (x86)\Roblox\Versions" set "launcher=RobloxPlayerLauncher.exe" :: 遍历所有version-开头的子目录,查找含启动器的有效目录 for /d %%d in ("%roblox_dir%\version-*") do ( if exist "%%d\%launcher%" ( set "target_dir=%%d" goto :launch ) ) echo 未找到有效的Roblox版本目录 pause exit /b :launch start "" "%target_dir%\%launcher%" -app start "" "%target_dir%\%launcher%" -app
方案2:优先启动最新更新的版本
如果Versions目录下保留了多个旧版本文件,这个脚本会按修改时间从新到旧遍历目录,确保启动的是最新版Roblox:
@echo off set "roblox_dir=C:\Program Files (x86)\Roblox\Versions" set "launcher=RobloxPlayerLauncher.exe" set "target_dir=" :: 按修改时间倒序遍历目录,筛选有效版本 for /f "delims=" %%d in ('dir "%roblox_dir%\version-*" /ad /o-d /b') do ( if exist "%roblox_dir%\%%d\%launcher%" ( set "target_dir=%roblox_dir%\%%d" goto :launch ) ) echo 未找到有效的Roblox版本目录 pause exit /b :launch start "" "%target_dir%\%launcher%" -app start "" "%target_dir%\%launcher%" -app
关键逻辑说明
@echo off:关闭命令回显,让运行过程更简洁set命令:提前定义固定路径和文件名,后续调整只需修改这部分for循环:自动识别版本目录,彻底摆脱手动更新版本号的麻烦goto :launch:找到有效目录后立即跳转启动,减少不必要的遍历
内容的提问来源于stack exchange,提问作者Daryl Ortega
相关产品推荐
相关产品推荐

