根据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中的任何组合匹配。
答案 0 :(得分:0)
使用FOR
语句,我确实无法持续检查空行。
FOR
语句实际上会跳过空白行,这只是一个回车符,只是一个空行。
如果能够检查,您只需要检查空字符串。与if "%%x"=="" echo Yes!
但是在命令行试试这个:
for /f "tokens=*" %x in ('for /?') do @echo %x
然后将其与输出结果进行比较:
for /?
你会看到(通常*)FOR
不包括空行。
*我已经看到它偶尔会发生(通常当它很痛苦时),但我从来没有能够一致地重现它。
已编辑的答案