ping 的通和不通,BAT中errorlevel都为0
for/f%%iin(ip.txt)doping%%i-n1&if%errorlevel%EQU1(ECHO%%iPASS>>ok.txt)else(ECHO%%iFAI...
for /f %%i in (ip.txt) do ping %%i -n 1 & if %errorlevel% EQU 1 (ECHO %%i PASS
>>ok.txt) else (ECHO %%i FAIL >>ok.txt)
脚本如上: ip.txt 有的IP拼得通,有的拼不通
问题:为什麼拼通和拼不通 errorlevel都是ok呢,,正常情况下:拼通才为0.拼不通为1呀
请高手指教,如何改善 展开
>>ok.txt) else (ECHO %%i FAIL >>ok.txt)
脚本如上: ip.txt 有的IP拼得通,有的拼不通
问题:为什麼拼通和拼不通 errorlevel都是ok呢,,正常情况下:拼通才为0.拼不通为1呀
请高手指教,如何改善 展开
1个回答
展开全部
你的代码中,if语句%errorlevel%的值是执行for语句之前的errorlevel,所以一直是0
一般有以下两种解决方法,
用 if errorlevel 语句:
for /f %%i in (ip.txt) do ping %%i -n 1 & if errorlevel 1 (ECHO %%i FAIL >>ok.txt) else (ECHO %%i PASS >>ok.txt)
或者,启用延迟变量扩展:
setlocal enabledelayedexpansion
for /f %%i in (ip.txt) do ping %%i -n 1 & if !errorlevel! EQU 1 (ECHO %%i FAIL >>ok.txt) else (ECHO %%i PASS >>ok.txt)
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询