找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20524|回复: 1

[网络连接] [分享]批处理ping指定车站工作站ip,并分别存放(新手作品)

[复制链接]
发表于 2021-4-4 00:18:47 | 显示全部楼层 |阅读模式
状况说明:
50个车站,编号为1-50,对应IP段分别为192.168.100.*--192.168.149.*
每个车站22个工作站,IP尾分别为 1,2,3,4,5,13,14,15,23,24,25,33,34,35,43,44,45,51,52,53,54,55
要求,可以对指定车站所有工作站完成PING操作,检查是否离线
代码如下:

批处理文件test.bat:
  1. @echo off
  2. del /s /q *号*.txt
  3. ::删除历史检测文件,防止混淆
  4. :begin
  5. set /p cum="请输入站点编号(1-50):"
  6. set /a num=%cum%-1
  7. if %cum% equ 0 goto begin
  8. if %cum% geq 51 goto begin
  9. ::输入站点编号检查,如有错误重新输入
  10. if %cum% geq 1 if %cum% leq 10 goto nexta
  11. if %cum% geq 11 if %cum% leq 50 goto nextb
  12. :nexta
  13. @echo on
  14. for /f %%a in (ip.txt) do ping /n 1 192.168.10%num%.%%a | find "TTL" >nul && echo 192.168.10%num%.%%a >>%cum%号站点up.txt || echo 192.168.10%num%.%%a>>%cum%号站点down.txt
  15. goto begin
  16. :nextb
  17. @echo on
  18. for /f %%a in (ip.txt) do ping /n 1 192.168.1%num%.%%a | find "TTL" >nul && echo 192.168.1%num%.%%a >>%cum%号站点up.txt || echo 192.168.1%num%.%%a>>%cum%号站点down.txt
  19. goto begin
复制代码
新手作品,写法比较粗糙,请高手指定斧正。谢谢

评分

参与人数 1技术 +1 收起 理由
老刘1号 + 1 感谢分享

查看全部评分

 楼主| 发表于 2021-4-4 10:52:43 | 显示全部楼层
本帖最后由 newgain 于 2021-4-4 11:01 编辑
  1. @echo off
  2. del /s /q *号*.txt
  3. ::删除历史检测文件,防止混淆
  4. :begin
  5. set /p cum="请输入站点编号(1-50):"
  6. echo %cum%|findstr /be "[0-9]*" >nul && goto next || goto begin
  7. ::检查输入数据合理性
  8. :next
  9. set /a num=%cum%-1
  10. if %cum% equ 0 goto begin
  11. if %cum% geq 51 goto begin
  12. ::输入站点编号检查,如有错误重新输入
  13. if %cum% geq 1 if %cum% leq 10 goto nexta
  14. if %cum% geq 11 if %cum% leq 50 goto nextb
  15. :nexta
  16. @echo on
  17. for /f %%a in (ip.txt) do ping /n 1 192.168.10%num%.%%a | find "TTL" >nul && echo 192.168.10%num%.%%a >>%cum%号站点up.txt || echo 192.168.10%num%.%%a>>%cum%号站点down.txt
  18. echo 本次查询结束,按任意键查询其他站点
  19. cls
  20. ::清理屏幕,继续下次查询
  21. pause
  22. goto begin
  23. :nextb
  24. @echo on
  25. for /f %%a in (ip.txt) do ping /n 1 192.168.1%num%.%%a | find "TTL" >nul && echo 192.168.1%num%.%%a >>%cum%号站点up.txt || echo 192.168.1%num%.%%a>>%cum%号站点down.txt
  26. echo 本次查询结束,按任意键查询其他站点
  27. cls
  28. ::清理屏幕,继续下次查询
  29. pause
  30. goto begin
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 16:48 , Processed in 0.026811 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表