我的情况是我无法理解,我正在尝试做一个批处理文件,他循环200次,并在每个循环中他ping一个主机,如果ping成功他执行命令。这是我得到的:
@echo off
for /L %%N IN (1, 1, 200) DO (
ping -n 1 192.1.22.%%N
if not ERRORLEVEL 1 (
set pingresult=true
goto done
)
)
set pingresult=false
:done
if %pingresult% == true (
echo Pikachu
) else (
echo "Offline!"
)
它没有用。
答案 0 :(得分:1)
感谢aschipfl,我发现了答案!
你必须在| find "TTL=" >nul
命令之后使用ping
,因为这样一来,如果ping成功,他会转移一个TTL,而| find "TTL=" >nul
将grep它进行验证。这是我得到解决方案的网站上的例子。
ping -n 1 192.168.1.1 | find "TTL=" >nul
if errorlevel 1 (
echo host not reachable
) else (
echo host reachable
)