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

求助:制作符合要求的Fortnite分辨率修改批处理文件

Fortnite分辨率修改批处理优化方案

需求回顾

  • 可在任意文件夹运行
  • 修改后用新值完全替换原有分辨率值
  • 修改后自动保存配置文件

原代码存在的问题

  1. 硬编码旧分辨率值(1280/1024),只能替换固定分辨率,无法适配用户当前的任意分辨率
  2. 对同一文件分两次处理,第二次输出会覆盖第一次结果,导致仅第二个分辨率值被替换
  3. 依赖配置文件和StretchRes.bat在当前目录,无法实现任意文件夹运行
  4. 文件操作逻辑存在覆盖风险,可能损坏原配置文件

修正后的批处理代码

@echo off
setlocal enabledelayedexpansion

:: 定位Fortnite的GameUserSettings.ini默认路径
set "iniPath=%USERPROFILE%\AppData\Local\FortniteGame\Saved\Config\WindowsClient\GameUserSettings.ini"
set "tempIni=%iniPath%.tmp"

:: 读取当前配置中的分辨率
for /f "tokens=2 delims==" %%a in ('findstr /i "^ResolutionSizeX=" "%iniPath%"') do set "currentX=%%a"
for /f "tokens=2 delims==" %%a in ('findstr /i "^ResolutionSizeY=" "%iniPath%"') do set "currentY=%%a"

:: 提示用户输入新分辨率
echo 当前分辨率:%currentX% x %currentY%
echo 输入新的宽度值:
set /p newX=
echo 输入新的高度值:
set /p newY=

:: 处理配置文件,仅替换分辨率行,保留其他内容
(
    for /f "delims=" %%i in ('type "%iniPath%"') do (
        set "line=%%i"
        if "!line:~0,15!"=="ResolutionSizeX=" (
            echo ResolutionSizeX=%newX%
        ) else if "!line:~0,15!"=="ResolutionSizeY=" (
            echo ResolutionSizeY=%newY%
        ) else (
            echo !line!
        )
    )
) > "%tempIni%"

:: 原子替换原文件,避免损坏
move /y "%tempIni%" "%iniPath%" >nul

:: 处理同目录下的StretchRes.bat(如果存在)
if exist "%~dp0StretchRes.bat" (
    set "batPath=%~dp0StretchRes.bat"
    set "tempBat=%batPath%.tmp"
    (
        for /f "delims=" %%i in ('type "%batPath%"') do (
            set "line=%%i"
            set "line=!line:%currentX%=%newX%!"
            set "line=!line:%currentY%=%newY%!"
            echo !line!
        )
    ) > "%tempBat%"
    move /y "%tempBat%" "%batPath%" >nul
    echo StretchRes.bat已更新
)

echo 分辨率已修改为 %newX% x %newY%
pause
endlocal

方案说明

  1. 任意文件夹运行:

    • 自动定位Fortnite配置文件的默认系统路径,无需依赖当前目录存在配置文件
    • 处理StretchRes.bat时使用脚本自身所在目录(%~dp0),确保无论在哪运行都能找到该文件
  2. 替换原有值:

    • 先读取当前配置中的分辨率值,再用用户输入的新值精准替换对应行,适配任意原有分辨率
    • 一次遍历完成两个分辨率值的替换,避免多次处理导致的内容覆盖
  3. 保存修改:

    • 使用临时文件暂存修改内容,再通过move /y原子操作替换原文件,避免原配置文件损坏
    • 处理完成后自动完成文件替换,无需手动保存

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:20:42