【发布时间】:2015-01-13 04:35:49
【问题描述】:
我是批处理脚本的新手,我正在尝试编写一个简单的脚本,以根据调用批处理文件时传递的参数从 INI 文件中读取。
这是 INI 文件的示例:
[SETTING1]
Value1=Key1
Value2=Key2
Value3=Key3
[SETTING2]
Value1=Key1
Value2=Key2
Value3=Key3
[SETTING3]
Value1=Key1
Value2=Key2
Value3=Key3
当我只阅读被调用的部分时遇到了问题。它将从与“值”和“键”匹配的任何部分读取,我不知道如何将其限制为仅读取具有设置的部分。
使用此参数调用文件:run.bat run.ini setting2。我下面的代码是我到目前为止所拥有的,我感觉好像我已经正式撞墙了。有人能帮忙吗?任何帮助将不胜感激。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET INIFile="%~f1"
for /f "usebackq delims=" %%a in (!INIFile!) do (
if %%a==[%2] (
SET yesMatch=%%a
for /f "tokens=1,2 delims==" %%a in (!yesMatch!) do (
if %%a==Value1 set Key1=%%b
if %%a==Value2 set Key2=%%b
if %%a==Value3 set Key3=%%b
)
ECHO !yesMatch!
ECHO !Key1!
ECHO !Key2!
ECHO !Key3!
pause
)
)
pause
exit /b
【问题讨论】:
标签: batch-file config ini