在Windows上使用FOR解析分隔的配置文件

时间:2011-10-31 12:12:37

标签: windows batch-file cmd

我有一个要解析的java属性文件,它包含key = value形式的键值对,每行一个。 在网站上挖掘之后,我发现this site解释了FOR语法,还有this question

我构造了以下行来获取config.properties中的backupdir.windows属性的值:

for /f "delims== tokens=2" %i in ('findstr backupdir.windows= config.properties') do  @echo %i

如果你在命令提示符下键入它,上面的工作方式很有效,但是如果我把它保存为文件'test.cmd'然后执行它,我得到'我此时出乎意料。 “ 如果我将扩展名更改为.bat,则会发生同样的事情(如果这样做会使其使用 早期的MSDOS语法)。

这里出了什么问题?我正在运行Windows 7。

2 个答案:

答案 0 :(得分:2)

最好这样做:

@echo off
for /f "tokens=2 delims==" %%a in ('findstr /b /i "backupdir.windows" config.properties') do echo %%a

答案 1 :(得分:1)

它必须是批处理文件中的%% i。而且只是命令行上的%i。