批处理怎么读取和修改INI配置文件?
发布网友
发布时间:2022-04-23 22:50
我来回答
共2个回答
热心网友
时间:2022-04-23 07:04
@echo off&setlocal ENABLEDELAYEDEXPANSION
call :解析 1.ini
call :提取 okm abc
call :修改 okm abc newvalue
call :输出 >new.ini
goto :eof
:解析 [参数#1=ini文件路径]
set "op="
for /f " usebackq tokens=1* delims==" %%a in ("%~1") do (
if "%%b"=="" (
set "op=%%a"
) else (
set "##!op!#%%a=%%b"
)
)
goto :eof
:提取 [参数#1=Option] [参数#2=Key]
echo,Option=%~1,Key=%~2,Value=!##[%~1]#%~2!
goto :eof
:修改 [参数#1=Option] [参数#2=Key] [参数#3=value,没有参数3则删除该配置项]
set "##[%~1]#%~2=%~3"
goto :eof
:输出 [>新ini文件路径]
set "op="
for /f "tokens=1-3 delims=#=" %%a in ('set ##') do (
if "%%a"=="!op!" (
echo,%%b=%%c
) else (
echo,%%a
set "op=%%a"
echo,%%b=%%c
)
)
热心网友
时间:2022-04-23 08:22
编写一个合适的list很重要,例如
ini路径 项名 键名 新的值
D:\?\1.ini cbd abc 321
D:\?\1.ini cbd qwe 321
D:\?\1.ini cbd qaz 321
D:\?\1.ini okm cxz 321
根据list结构,批处理就方便编写,这样做的好处是批处理编写好后将是固定的,要修改值间接在list中进行