批处理怎么读取和修改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中进行

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com