【发布时间】:2026-01-14 21:40:02
【问题描述】:
@echo OFF
setlocal EnableExtensions DisableDelayedExpansion
set "FileName=F:\Program Files(x86)\SteamLibrary\steamapps\common\Conan Exiles\ConanSandbox\Config\DefaultGame.ini"
set "TempFile=%TEMP%\%~n0.tmp"
if not exist "%FileName%" goto EndBatch
del "%TempFile%" 2>nul
for /F delims^=^ eol^= %%A in ('%SystemRoot%\System32\findstr.exe /N "^" "%FileName%"') do (
set "Line=%%A"
setlocal EnableDelayedExpansion
if not "!Line:+StartupMovies=StartupUE4!" == "!Line!" (
echo -StartupMovies=StartupUE4
) else if not "!Line:+StartupMovies=StartupNvidia!" == "!Line!" (
echo -StartupMovies=StartupNvidia
) else if not "!Line:+StartupMovies=CinematicIntroV2!" == "!Line!" (
echo -StartupMovies=CinematicIntroV2
) else echo(!Line:*:=!
endlocal
) >>"%TempFile%"
rem Is the temporary file not binary equal the existing INI file, then move
rem the temporary file over existing INI file and delete the temporary file
rem if that fails like on INI file currently opened by an application with
rem no shared write access. Delete the temporary file if it is binary equal
rem the existing INI file because of nothing really changed.
%SystemRoot%\System32\fc.exe /B "%TempFile%" "%FileName%" >nul
if errorlevel 1 (
move /Y "%TempFile%" "%FileName%"
if errorlevel 1 del "%TempFile%"
) else del "%TempFile%"
:EndBatch
endlocal
它在那个 ini 文件中的开头
[/Script/MoviePlayer.MoviePlayerSettings]
bWaitForMoviesToComplete=True
bMoviesAreSkippable=True
-StartupMovies=
+StartupMovies=StartupUE4
+StartupMovies=StartupNvidia
+StartupMovies=CinematicIntroV2
我想要它做什么
[/Script/MoviePlayer.MoviePlayerSettings]
bWaitForMoviesToComplete=True
bMoviesAreSkippable=True
-StartupMovies=
-StartupMovies=StartupUE4
-StartupMovies=StartupNvidia
-StartupMovies=CinematicIntroV2
真正的作用
[/Script/MoviePlayer.MoviePlayerSettings]
bWaitForMoviesToComplete=True
bMoviesAreSkippable=True
-StartupMovies=
-StartupMovies=StartupUE4
-StartupMovies=StartupUE4
-StartupMovies=StartupUE4
我和我的好友已经有一段时间了,这已经接近了我们在此之前我们已经达到了远程接近的程度,我们让它重复并替换了整个 ini 文件并循环重复,现在我们只是遇到了麻烦让代码正常工作并替换我们想要的所有行 关于我如何可能解决此问题的任何想法?
【问题讨论】:
标签: batch-file ini