我的蝙蝠有问题。
@echo off
setlocal enableextensions disabledelayedexpansion
set "search=time_upper_limit:"
set "replace=time_upper_limit: 9999999"
set "textFile=game.sii"
for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
set "line=%%i"
setlocal enabledelayedexpansion
>>"%textFile%" echo(!line:%search%=%replace%!
endlocal
)
如何制作.bat; 找到一行文本然后替换整行; 文件有超过24,000行; 他差不多花了20分钟:(; 可以用更快的方式完成吗? ;
文件中只有一行要替换
通过测试替换开始" time_upper_limit:"
答案 0 :(得分:0)
我尝试更改此代码的行并覆盖文件
set findtext="time_upper_limit: "
set replace=time_upper_limit: 9999999"
set findfile="game.sii"
findstr %findtext% %findfile%
答案 1 :(得分:-1)
我看不出你发布的脚本有什么问题会导致这种运行时间。 除非解密以某种方式与输入文件混淆。
如果您不需要保留空行并且game.sii
已正确解密,(没有笨拙/有毒字符),这样的事情也应该有效:
@Echo Off
Ren "game.sii" "game.bak"
(For /F "UseBackQ EOL=: Tokens=1* Delims=:" %%A In ("game.bak"
) Do If "%%A"==" time_upper_limit" (Echo= time_upper_limit: 9999999
) Else If "%%B"=="" (Echo=%%A) Else Echo=%%A:%%B)>game.sii
FootNote: 更改已保存的游戏设置是作弊。