2013-02-01 38 views
0

根據my corrected answer to another question看來,Windows XP並沒有從for /f輸出<cr>的條形碼。檢查<cr> in if語句在Windows命令提示符

如何在輸出中測試<cr>的存在性?

我目前擁有的是:

for /f "tokens=1,2,3* %%a in ('ping -n 1 example.com') do (
    if not "x%%a"=="¶" (echo %%a) else (echo.>null) 
) 

但無論我做什麼:

  2)delims =¶

  3)如果沒有 「X %%一個」= = 「」

  4)如果沒有 「×%%一個」 == 「 」

  5)如果不是「x %% a」==「」

......我似乎無法得到如果在var中與上述任意組合匹配。

回答

0

使用FOR聲明,我真的沒有辦法知道一致地檢查空行。

FOR聲明實際上跳過空白行,這是一個回車只是一個空行。

如果它能夠檢查,你只需要檢查一個空字符串。像if "%%x"=="" echo Yes!

但嘗試此命令行:

for /f "tokens=*" %x in ('for /?') do @echo %x 

然後比較它的輸出:

for /? 

而且你會看到(通常爲*)FOR不包括空線。

*我看到它發生有時(通常是當它是一種痛苦),但我從來沒有能夠一貫重現它。

編輯答案

+0

它不會出現,我認爲FOR語句跳過空白行,在Win XP。請參閱「[我更正的答案的另一個問題](http://stackoverflow.com/a/14642856/1126551)」在問題的更多。 – user66001