2011-10-31 47 views
0

我有一個java屬性文件來解析,它包含key = value形式的鍵值對,每行一個。 經過在網站上的挖掘,我發現瞭解釋FOR語法的this site,以及this question在Windows上使用FOR解析分隔的配置文件

我構建了以下行來獲得backupdir.windows財產的config.properties值:如果您在命令提示符下鍵入

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

上述工作,但如果我把它保存爲文件'test.cmd',然後執行,我得到'我在這個時候是意想不到的。' 如果將擴展名更改爲.bat,則會發生同樣的情況(如果這樣做會使其使用早期的MSDOS語法 )。

這裏怎麼回事?我正在運行Windows 7.

+3

只需從'%i'百分號 – jeb

+0

感謝一倍至%% i'一個批處理文件裏,該工作! – Rex

+0

@jeb如果你把它寫成答案而不是評論,那麼雷克斯可以給你信任。 – ewall

回答

2

更好地做到這樣的:

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

jeb已經回答了這個問題,但是謝謝:) – Rex

1

它需要是批處理文件中的%% i。只是命令行中的%i。