我有一个要解析的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。
答案 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。