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