
批處理怎樣讀取ini來修改其它文件的對應條目我在百度知道上看到一個帖子:簡單批處理,文本替換要求是:從配置文件 profile.ini里面讀取參數,從而來修改文件a.10。txt里面的對應條目。profile.ini 內如如下:MARKER NAME = D079MARKER NUMBER = D079REC = SN : 618-00124OBSERVER = ZLYAGENCY = D301ANT # = 383-1072a.10.txt的部分內容如下:……………………KPHSU77FSAOTPS NET-G3A3.4 Jun,23,2009 NET-REC # / TYPE / VERS…………需要做的是:從profile.ini里找到REC = SN : 618-00124 ,將a.10.txt里的 KPHSU77FSAO 替換為 SN : 618-00124,即a.10.txt內容為:……………………SN : 618-00124TPS NET-G3A3.4 Jun,23,2009 NET-REC # / TYPE / VERS那位達人的回答是:先用for 讀取ini文件,配合findstr 找到需要的內容再讀取a.10,把指定的內容替換為找到的,就可以了@echo offfor /f tokens=1,* delims== %%i in ('findstr REC profile.ini')do set wind=%%j(for /f delims= %%i in (a.10.txt)do (set snow=%%icall echo %%snow:KPHSU77FSAO=%wind%%%))>wind.txt若改為:(set snow=%%iecho %%snow:KPHSU77FSAO=%wind%%%))>wind.txt則顯示:%snow:KPHSU77FSAO= SN : 618-00124%%snow:KPHSU77FSAO= SN : 618-00124%%snow:KPHSU77FSAO= SN : 618-00124%%snow:KPHSU77FSAO= SN : 618-00124%%snow:KPHSU77FSAO= SN : 618-00124%若改為:(set snow=%%icall echo %snow:KPHSU77FSAO=%wind%%))>wind.txt則顯示:KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124若改為:(set n=%%iecho %n:KPHSU77FSAO=%wind%%))>wind.txt則顯示:KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124KPHSU77FSAO= SN : 618-00124我的問題是:為什么不用call命令就會發生上述情況?echo后為啥用%%?兩個%在一起并位于echo后時有啥作用?謝謝。

