在Windows命令提示符</cr>中检查if语句中的<cr>

时间:2013-02-01 10:26:53

标签: if-statement for-loop windows-xp cmd carriage-return

根据my corrected answer to another question,似乎Windows XP不会从<cr>输出中删除for /f

如何在输出中测试<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 %% a”==“”

4)如果不是“x %% a”==“ “

5)如果不是“x %% a”==“”

...我似乎无法得到if与var中的任何组合匹配。

1 个答案:

答案 0 :(得分:0)

使用FOR语句,我确实无法持续检查空行。

FOR语句实际上会跳过空白行,这只是一个回车符,只是一个空行。

如果能够检查,您只需要检查空字符串。与if "%%x"=="" echo Yes!

一样

但是在命令行试试这个:

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

然后将其与输出结果进行比较:

for /?

你会看到(通常*)FOR不包括空行。

*我已经看到它偶尔会发生(通常当它很痛苦时),但我从来没有能够一致地重现它。

已编辑的答案