基本上我已经能够通过执行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\Zephyr Associates, Inc." /v StyleDir') do set "StyleDir=%%~b"
echo=%StyleDir%
cd %StyleDir%
下一部分是我想要搜索" Style.ini" file并获取SQLiteHome =
的值以下是默认 Style.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。
一直在谷歌搜索,我有不同的结果(其中一个包括用#34替换ini文件的全部内容; SQLiteHome"无论如何。如果我能搞清楚如何只需回显上面的c:\ programdata \ zephyr \ data。然后我可以用它作为模板来继续我的项目。
答案 0 :(得分:2)
使用findstr
从ini中选择正确的行,然后使用for /f
来解析它,类似于您对REG所做的操作。
for /f "tokens=2 delims==" %%a in ('findstr SQLiteHome style.ini') do set SQLiteHome=%%a