如何使用bat从.ini文件中获取值,其中值包含' ='

时间:2014-05-16 17:07:55

标签: batch-file properties io

使用以下代码:

for /f "tokens=1,2 delims==" %%i in (test.ini) do (
  if "%%i"=="mvn_command" set mvn_command=%%j
)

我从这样的文件获得的值:

test.ini(以下行为其内容)

mvn_command=mvn install -DMAJOR_VERSION=1.0 -Dbuildenv=dev

是:

mvn_command=mvn install -DMAJOR_VERSION

这不是预期的。

即使把价值放在引号中也行不通。

作为解决方案,这里有什么诀窍吗? 或者任何其他方式来读取预期值? 非常感谢。

1 个答案:

答案 0 :(得分:2)

你需要表明你想要的是第一个令牌,而不是第二个令牌,而是行的其余部分

tokens=1,*

这是第一个令牌转到第一个可替换参数(代码中为%%i),其余部分转到第二个令牌(代码中为%%j