[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [已解决]批处理PING IP问题?

for /L %%i in (2,1,231) do (ping -n 1 -w 40 192.168.11.%%i >nul && echo 192.168.11.%%i ping入成功 || echo 192.168.11.%%i ping入失败 && echo 192.168.11.%%i >IP.txt)
这个PING IP是从192.168.11.2-192.168.11.231,想要每ping三个IP后,就不PING 2个IP,这个代码怎么写?
如:
PING
192.168.11.2
192.168.11.3
192.168.11.4
不ping(192.168.11.5和192.168.11.6)
接着PING
192.168.11.7
192.168.11.8
192.168.11.9
不ping(192.168.11.10和192.168.11.11)
........
以此类推!


另外,如果ping不通,就继续ping 5次后,如果ping通了,就不需要继续对同一IP进行ping,直接继续ping下面的IP,这个代码怎么写?(如果每个ip ping 通了,也继续同一IP ping 5次,这样速度太慢了)

)

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a "count=0,a=3,b=2,c=a+b"
  4. for /l %%i in (2,1,40) do (
  5. set /a count+=1
  6. if !count! leq !a! (
  7. title 开始ping 192.168.11.%%i 一次
  8. ping /n 1 192.168.11.%%i >nul 2>nul && echo 192.168.11.%%i ping入成功 || (
  9. title ping 192.168.11.%%i 一次失败,开始ping5次
  10. ping /n 5 192.168.11.%%i >nul 2>nul && echo 192.168.11.%%i ping入成功 || echo 192.168.11.%%i ping入失败
  11. )
  12. )
  13. if !count! equ !c! set count=0
  14. )
  15. pause&exit
复制代码
1

评分人数

TOP

  1. @echo off&setlocal enabledelayedexpansion&set n=0
  2. for /l %%i in (2,1,11) do (set /a n+=1
  3. if !n! leq 3 ping -n 1 -w 40 192.168.11.%%i >nul && echo 192.168.11.%%i ping入成功 || echo 192.168.11.%%i ping入失败&&ping -n 5 -w 40 192.168.11.%%i
  4. if !n! equ 5 set n=0)
  5. pause
复制代码

TOP

回复 2# went

怎么将多个ping 失败的IP输出到IP.txt?

TOP

回复 3# smss


不需要显示ping的明细(我要ping的IP太多),只要将多个ping 失败的IP输出到IP.txt即可。

像下面这样:

TOP

  1. @echo off&setlocal enabledelayedexpansion&set n=0
  2. for /l %%i in (2,1,231) do (set /a n+=1
  3. if !n! leq 3 ping -n 1 -w 40 192.168.11.%%i>nul 2>nul&&echo 192.168.11.%%i ping入成功>>IP.txt||echo 192.168.11.%%iping入失败>>IP.txt&&ping -n 5 -w 40 192.168.11.%%i>nul 2>nul
  4. if !n! equ 5 set n=0)
  5. pause
复制代码
1

评分人数

TOP

返回列表