在windows命令行批量ping局域网内IP
参考了博客园Alfred Zhao的文章《Windows平台ping测试局域网所有在用IP》
在cmd命令行运行如下命令即可:
for /L %i in (,,) do ping -n -w 172.24..%i | find "回复" >>pingall.txt
这一条命令是ping局域网内地址范围在172.24.240.10~172.24.240.80的所有主机。ping的结果会输出到执行命令的目录里面的pingAll.txt文件。
注意:运行结果是追加到pingAll.txt文件的,不会新建立pingAll.txt文件。
运行样例如下:
本样例ping局域网内IP地址段:172.24.240.10~172.24.240.15的所有主机。运行过程和结果如下图所示。

运行结束后,会在D盘根目录生成pingAll.txt文件,文件内容如下:

从运行结果看,172.24.240.14和172.24.240.15两个ip的主机ping不通。
下面详细解释上面的这条命令:
用到了for、ping和find命令,并且把运行的结果输出到文本。
for命令的详细说明
(这里删除了本文不用的那一部分说明)
C:\Users\most>for /?
对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。 在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 如果启用命令扩展,则会支持下列 FOR 命令的其他格式: …… FOR /L %variable IN (start,step,end) DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1) ……
ping命令

本文开头那条命令用到了ping命令,并且含有参数-n 1,表示只发送一个数据包.
另外,ping命令还加了-w 60 参数表示超时时间60ms。
find命令
C:\Users\most>find /?
在文件中搜索字符串。 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]] /V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename
指定要搜索的文件。 如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。 C:\Users\most>
本文开头那条命令里面的find指令搜索的范围是ping产生的文本。利用find搜索含有“回复”这两个字的字符串,并把搜索结果显示出来。
显示的搜索结果之所以被输出到文本文件,是因为用了">>"符号。具体介绍看《将cmd中命令输出保存为TXT文本文件》
说的有点乱,其实就是想记一下笔记。
后来发现其实有现成工具可以做这个事情:

在windows命令行批量ping局域网内IP的更多相关文章
- Windows命令行更改有线本地连接IP地址及DNS的bat脚本
有些场景需要测试网络通不通等,每次打开网络和共享中心真烦,win10右下角还进不去了,shit! 运行ncpa.cpl也打开那个界面也是费劲吧啦,索性写个bat吧!为啥要写?还不是因为懒!可以把脚本复 ...
- 局域网内ping [局域网内ip地址]命令详解
一.工作过程 主机A向主机B发送一个ICMP请求报文[类型字段为8,代码字段为0],若收到ICMP回复报 文[类型字段为0,代码字段为0]则说明主机B处于活动状态:若超时未收到回复,则可能是 因为(1 ...
- windows命令行 批量对源代码添加版权头/头信息
简短精悍的代码,特别适合开源项目使用. for /r %%F in (*.as) DO ( move "%%F" tmp.txt type copyright.txt > & ...
- 探索Windows命令行系列(2):命令行工具入门
1.理论基础 1.1.命令行的前世今生 1.2.命令执行规则 1.3.使用命令历史 2.使用入门 2.1.启动和关闭命令行 2.2.执行简单的命令 2.3.命令行执行程序使用技巧 3.总结 1.理论基 ...
- 探索Windows命令行系列(5):几个实用的命令例解
1.关机命令(shutdown) 2.管理 Windows 服务(sc) 3.管理任务进程(tasklist.taskkill) 4.显示 TCP/IP 配置值(ipconfig) 5.网络诊断工具( ...
- 探索Windows命令行系列(6):活用批处理解决实际问题
1.批量修改文件名 2.批量重启服务 3.全盘搜索指定文件 3.1.全盘搜索名称为 mm.jpg 的文件,获取其全路径 3.2.查找系统中所有名称以 .docx 结尾的文件 4.调用可执行程序 4.1 ...
- Linux命令行批量替换多文件中的字符串【转】
Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...
- Windows命令行语法说明
摘自:http://lavasoft.blog.51cto.com/62575/1113234 Windows命令行语法说明 说来惭愧,用windows这么多年了,对其命令行语法看得似懂非懂, ...
- 【Python】iichats —— 命令行下的局域网聊天程序
转载请声明出处:http://www.cnblogs.com/kevince/p/3941728.html ——By Kevince ii系列工具第三弹,命令行下的局域网聊天程序 原理: 程序启动 ...
随机推荐
- zoj 1002 Fire Net 碉堡的最大数量【DFS】
题目链接 题目大意: 假设我们有一个正方形的城市,并且街道是直的.城市的地图是n行n列,每一个单元代表一个街道或者一块墙. 碉堡是一个小城堡,有四个开放的射击口.四个方向是面向北.东.南和西.在每一个 ...
- typescript精简版1:用ts表示常见数据类型
一:工程准备: 1.全局安装typescript npm i typescript -g // 或 yarn global add typescript vscode 配置 在命令行执行 tsc -- ...
- linux 学习笔记四
文件权限管理篇章 chown -R mysql. /usr/local 把 /usr/local/以及以下的所有文件和子目录属主改为 mysql ls -al * 用这条命令查询 chgrp c ...
- 安装mysql以及修改mysql字符集问题
1.安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client 2.部分命令: sudo service ...
- express框架中如何只执行一次res响应操作
在做东西时候遇到一个可能会重复输出res.json的地方,重复输出会产生Error:Cannot set header after they are sent. Node.js不像c++里可以直接通过 ...
- Codeforces.566E.Restoring Map(构造)
题目链接 \(Description\) 对于一棵树,定义某个点的邻居集合为所有距离它不超过\(2\)的点的集合(包括它自己). 给定\(n\)及\(n\)个点的邻居集合,要求构造一棵\(n\)个点的 ...
- java获取一年的周数和间隔天数
java获取一年的周数和间隔天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti ...
- IDEA中的常用设置
ps:对于开发工具,不同的开发人员有不同的设置喜好,这里介绍的是我个人的配置,不喜勿喷. Appearance:个人喜欢全黑主题,雅黑字体 背景图片, 效果如下,编写代码的时候有个自己喜欢的背景图片, ...
- mongodb数据导入导出
1.导出: 2.导入: 注意headline,导入一定要跳过第一行,第一行是列名
- IntelliJ IDEA配置Springboot2.x 通过devtools实现代码热部署,提高调试效率
1.pom.xml添加依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifa ...