ping连续网段-bat批处理
本文主要用于连续网段ping,例如ping 192.168.1.1到192.168.1.20之间在线离线状态,并生成在线ping-OK-log.txt和离线ping-NO-log.txt文件。界面如下:
要创建一个批处理文件来执行连续的网段PING,你需要按照以下步骤进行操作:
打开记事本或任何文本编辑器。
在文件中输入以下代码:
:: 意思就是不显示ECHO OFF和它后面的命令回显
@echo off
echo.
::设置背景及字颜色
color A0
:: 启动ping命令echo 连续网段ping
echo ***************************************************
echo 输入起始IP地址(例如:192.168.1.1):
set /p "start_adr=>"
echo 输入结束IP地址(例如:192.168.1.255):
set /p "end_adr=>"
::分割起始地址
for /f "tokens=1,2,3,4,* delims=." %%a in ("%start_adr%") do (
set c1=%%a
set c2=%%b
set c3=%%c
set c4=%%d
)
set start_adr1=%c1%.%c2%.%c3%.
set start_adr2=%c4%
::分割结束地址
for /f "tokens=1,2,3,4,* delims=." %%a in ("%end_adr%") do (
set d1=%%a
set d2=%%b
set d3=%%c
set d4=%%d
)
set end_adr1=%d1%.%d2%.%d3%.
set end_adr2=%d4%
::计算起始地址到结束地址范围长度
set /a adr_long=%end_adr2%-%start_adr2%
echo ***************************************************
::显示范围地址
echo 地址范围:%start_adr1%%start_adr2%--- %end_adr1%%end_adr2%
::清除原始文本内容
echo off > ping-OK-log.txt
echo off > ping-NO-log.txt
::启动ping命令
for /l %%i in (%start_adr2%,1,%end_adr2%) do (
ping.exe -n 1 %start_adr1%%%i|find "TTL" && echo %start_adr1%%%i OK >>ping-OK-log.txt || echo %start_adr1%%%i NO >>ping-NO-log.txt
)
echo ***************************************************
echo 查看 ping-OK-log.txt和ping-NO-log.txt
echo.
pause
(1).保存文件时,将文件扩展名从
.txt
更改为
.bat
,例如
连续网段ping.bat
。
(2).双击运行该批处理文件,根据提示输入网段开始及结束地址,它将开始对指定的子网进行连续的PING操作,并输出每个IP地址的状态(在线OK生成 ping-OK-log.txt或离线NO生成 ping-NO-log.txt)。