Batch file 使用批处理文件,在特定节内搜索ini文件,然后在特定名称内搜索=以读取特定值
基本上,我已经能够通过执行REG查询(使用应用程序的所有可能注册表项)来获取ini文件,以发现位置,然后将目录设置为变量Batch file 使用批处理文件,在特定节内搜索ini文件,然后在特定名称内搜索=以读取特定值,batch-file,ini,Batch File,Ini,基本上,我已经能够通过执行REG查询(使用应用程序的所有可能注册表项)来获取ini文件,以发现位置,然后将目录设置为变量 for /f "tokens=2*" %%a in ('REG Query "HKCU\SOFTWARE\Zephyr Associates, Inc." /v StyleDir') do set "StyleDir=%%~b" echo=%StyleDir% for /f "tokens=2*" %%a in ('REG Query "HKLM\SOFTWARE\Zephy
for /f "tokens=2*" %%a in ('REG Query "HKCU\SOFTWARE\Zephyr Associates, Inc." /v StyleDir') do set "StyleDir=%%~b"
echo=%StyleDir%
for /f "tokens=2*" %%a in ('REG Query "HKLM\SOFTWARE\Zephyr Associates, Inc." /v StyleDir') do set "StyleDir=%%~b"
echo=%StyleDir%
cd %StyleDir%
下一部分是我希望搜索“Style.ini”文件并获取SQLiteHome的值的地方=
以下是DefaultStyle.ini的前几行:
[Default]
DataHome=C:\ProgramData\Zephyr\Data
SQLiteHome=c:\programdata\zephyr\data
[DataBaseList]
DbsId=Stl,Ind,Fnd,Set,Isa,Zin,Mng
因此,在本例中,我想将一个变量设置为(SQLiteHome的值),c:\programdata\zephyr\data
我一直在谷歌上搜索,结果不一(其中包括用“SQLiteHome”替换ini文件的全部内容)。无论如何。如果我能想出如何只回显上面的c:\programdata\zephyr\data。然后我可以将其作为模板来继续我的项目。使用
findstr
从ini中选择正确的行,然后for/f
来解析它,类似于您对REG所做的操作
for /f "tokens=2 delims==" %%a in ('findstr SQLiteHome style.ini') do set SQLiteHome=%%a
现在我觉得自己像个白痴……但谢谢你,我已经断断续续地做了大约两个星期了。