A. 批处理.bat读取、修改.ini文件
以下是将用户输入的数据保存至ini文件例子:
set/pMy_Int=请输入变量的值:
>C:Int.iniecho%My_Int%
以下是读取ini文本数据例子:
Ifexist"C:Int.ini"(
For/f"delims="%%ain(C:Int.ini)doset"My_Int=%%a")
以下写一个例句:
功能是每次打开程序会显示变量的值,并且输入一个值,将值保存至ini文件内
反复操作
@echooff
ifexist"c:Int.ini"(
For/f"delims="%%ain(C:Int.ini)doset"My_Int=%%a"
echo当前的变量值是:%My_Int%
Set/pNew_Int=请输入新的值:
>C:Int.iniecho%New_Int%
Exit
)else(
Set/pNew_Int=请输入新值:
>C:Int.iniecho%New_Int%
Exit)
::中国批处理脚本联盟
B. 批处理修改ini文件的内容
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
@echooff&cd/d"%~dp0"
rem修改一个ini文件里的指定行内容
set#=Anyquestions&set_=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%_%%z%
set"inifile=a.ini"
ifnotexist"%inifile%"(echo;"%inifile%"patherrorornotexists&pause&exit)
setuser=&set/puser=entertheuser:
setlinenum=&for/f"delims=:"%%ain('type"%inifile%"^|findstr/nb/c:"user="')doset"linenum=%%a"
ifdefinedlinenum(
for/f"tokens=1*delims=:"%%ain('type"%inifile%"^|findstr/n.*')do(
if"%%a"equ"%linenum%"(
echo;user=%user%
)elseecho;%%b
)
)
echo;%#%+%$%%$%/%_%%z%
pause
exit