
利用bat命令修改文本内某行参数
我用下面这命令发现一个问题,只能针对16行进行修改。输入33Framelimit就会=33我想问下怎么进行2行修改?如16行Framelimit=3017行Outdoor...
我用下面这命令发现一个问题,只能针对16行进行修改。输入33 Framelimit就会=33
我想问下怎么进行2行修改?如16行Framelimit=30 17行OutdoorFramelimit=30
我运行bat后 输入33 16行的Framelimit=30就会修改成Framelimit=33 17行的OutdoorFramelimit=30就会变成OutdoorFramelimit=33
因为这个是网上找的,我稍微修改的,本身并不是我自己写的,所以我现在一脸懵逼。
跪求大神帮我修改!!!!!!!!!!!
@echo off&setlocal enabledelayedexpansion
set l=16
rem 指定要修改那行
set /p m=请输入一串数字:
(for /f "usebackq delims=" %%i in ("D:\我的文档\用户文档\1\config.ini") do (set /a n+=1
if !n!==%l% (set /a m=100+!m!&echo Framelimit=!m:~1!) else (echo %%i)))>>#
move # "D:\我的文档\用户文档\1\config.ini"
@echo off&setlocal enabledelayedexpansion
pause 展开
我想问下怎么进行2行修改?如16行Framelimit=30 17行OutdoorFramelimit=30
我运行bat后 输入33 16行的Framelimit=30就会修改成Framelimit=33 17行的OutdoorFramelimit=30就会变成OutdoorFramelimit=33
因为这个是网上找的,我稍微修改的,本身并不是我自己写的,所以我现在一脸懵逼。
跪求大神帮我修改!!!!!!!!!!!
@echo off&setlocal enabledelayedexpansion
set l=16
rem 指定要修改那行
set /p m=请输入一串数字:
(for /f "usebackq delims=" %%i in ("D:\我的文档\用户文档\1\config.ini") do (set /a n+=1
if !n!==%l% (set /a m=100+!m!&echo Framelimit=!m:~1!) else (echo %%i)))>>#
move # "D:\我的文档\用户文档\1\config.ini"
@echo off&setlocal enabledelayedexpansion
pause 展开
1个回答
展开全部
@echo off
cd/d "D:\我的文档\用户文档\1"
set "fn=config.ini"
echo 请输入要修改的"行号=数值" 注意不要加额外空格
set/p ss=如有多个修改项则加;号分隔(如 16=33;17=33):
if not defined ss exit
set #%ss:;=&set #%
(for /f "tokens=1* delims=:" %%i in ('findstr/n . "%fn%"')do (
if defined #%%i (
for /f "tokens=1* delims==" %%k in ("%%j") do call echo %%k=%%#%%i%%
)else echo;%%j
))>#
move # "%fn%"
pause
更多追问追答
追问
有没有办法改成固定的 16 17行是固定不变的
追答
4-7行改为:
set/p m=请输入一串数字
rem 下行括号内为要改的行号
for %%i in (16 17) do set "#%%i=%m%"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询