我正在处理一个记录ping结果的批处理文件。
我使用此代码存储值:
false
但由于某些原因,当ip没有ping(100%丢失)时,我无法存储任何值,所有我得到的回声都是关闭的。
我甚至尝试过使用ERRORLEVEL = 1但仍然没有。
任何人都可以帮助我吗?
答案 0 :(得分:0)
问题是当ping
未连接时,永远不会设置RESPONSE
变量。从脚本中删除或注释@ECHO OFF
以查看实际发生的情况。
C:\src>TYPE x.bat
FOR /F "usebackq tokens=1-9 delims==< " %%a IN (`PING -n 1 -4 -w 2500 192.168.0.2`) DO (
IF "%%h"=="TTL" (SET RESPONSE=%%g)
)
echo %RESPONSE%
C:\src>CALL x.bat
C:\src>FOR /F "usebackq tokens=1-9 delims==< " %a IN (`PING -n 1 -4 -w 2500 192.168.0.2`) DO (IF "%h" == "TTL" SET RESPONSE=%g )
C:\src>(IF "" == "TTL" SET RESPONSE=data: )
C:\src>(IF "" == "TTL" SET RESPONSE= )
C:\src>(IF "" == "TTL" SET RESPONSE= )
C:\src>(IF "(100%" == "TTL" SET RESPONSE=1 )
C:\src>echo
ECHO is on.