使用 Batch 读取ini文件
时间: 2023-12-05 17:06:31 浏览: 30
以下是使用 Batch 读取 ini 文件的示例代码:
```batch
@echo off
set "iniFile=test.ini"
set "section=Section1"
set "key=Key1"
for /f "delims=" %%a in ('type "%iniFile%" ^| findstr /n /r /c:"^\[%section%\]"') do set "sectionLine=%%a"
for /f "tokens=1,* delims==" %%a in ('type "%iniFile%" ^| findstr /n /r /c:"^%key%=" ^| findstr /r /c:"%sectionLine%:") do set "value=%%b"
echo %value%
```
解释:
1. 首先设置 ini 文件路径、要读取的 section 名称和 key 名称。这里假设 ini 文件路径为 "test.ini",section 名称为 "Section1",key 名称为 "Key1"。
2. 使用 for /f 命令和 findstr 命令查找 ini 文件中指定 section 的行,保存该行的内容到变量 sectionLine 中。这里使用了 ^ 转义字符将两个命令连接在一起。
3. 使用 for /f 命令和 findstr 命令查找 ini 文件中指定 key 的行,然后使用 findstr 命令筛选该行属于指定 section。最后使用 tokens 和 delims 参数将 key 和 value 分别保存到变量 %%a 和 %%b 中。
4. 输出变量 value 的值。
注意事项:
1. 该示例代码只适用于 ini 文件中 key 和 value 在同一行的情况。
2. 如果要读取多个 key,可以在第二个 for /f 命令中嵌套一个 if 命令,判断当前行的 key 是否符合要求,符合则保存 value 到相应变量中。