If statement 检查<;cr>;Windows命令提示符中的in if语句
据了解,Windows XP似乎没有将If statement 检查<;cr>;Windows命令提示符中的in if语句,if-statement,for-loop,windows-xp,cmd,carriage-return,If Statement,For Loop,Windows Xp,Cmd,Carriage Return,据了解,Windows XP似乎没有将从for/f输出中剥离出来 如何测试输出中是否存在 我目前拥有的是: 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”==“”
从for/f
输出中剥离出来
如何测试输出中是否存在
我目前拥有的是:
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”==“”
。。。我似乎无法获得将var中的if与上述任何组合相匹配的if。使用
FOR
语句,我所知道的确实没有办法一致地检查空行
FOR
语句实际上跳过了空行,这就是回车的含义,只是一个空行
如果它能够检查,您只需要检查一个空字符串。就像如果“%%x”==”回显是代码>
但请在命令行中尝试以下操作:
for /f "tokens=*" %x in ('for /?') do @echo %x
然后将其与以下各项的输出进行比较:
for /?
您将看到(通常*)FOR
不包括空行
*我曾见过这种情况偶尔发生(通常是在疼痛的时候),但我从未能够始终如一地重现这种情况
编辑后的答案在Win XP上,FOR语句似乎没有跳过空行。有关详细信息,请参见问题中的“”。