Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用批处理文件,在特定节内搜索ini文件,然后在特定名称内搜索=以读取特定值_Batch File_Ini - Fatal编程技术网

Batch file 使用批处理文件,在特定节内搜索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

基本上,我已经能够通过执行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”文件并获取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

现在我觉得自己像个白痴……但谢谢你,我已经断断续续地做了大约两个星期了。