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

[网络连接] [已解决]批处理从文件中读取IP及端口并将ping&telnet的结果存在另一个文件中

[复制链接]
发表于 2021-12-10 07:40:13 | 显示全部楼层 |阅读模式
批处理,从文件中读取IP及端口号内容并逐一ping&telnet,将ping&telnet的成功和失败,
通过Windows批处理完成对全网IP状态的判断,并反馈结果到另一个文件中,要求如下:
1、比如要PING&telnet的IP文件IP_list.txt文件,ip格式如下:
192.169.5.13 80
127.0.0.1 3389
192.169.1.108 139
192.169.1.112 135

2、通过Ping&telnet命令,对IP_list.txt中的所有IP进行逐一ping和telnet,截取所需要的结果“通or不通”后生成到另一个Record.txt,要求格式如下:
IP地址/网络状态/端口号状态
192.169.5.13/ping通/80端口不通
127.0.0.1/ping通/3389端口通
192.169.1.108/ping不通/139端口不通
192.169.1.112/ping通/135端口不通

我先提前万分感谢大佬们帮我解决问题
发表于 2021-12-10 21:45:43 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion
  2. set /a check_num=0
  3. for /f "tokens=1,2 delims= " %%i in (Ip_list.txt) do (call :check_port %%i %%j)
  4. pause
  5. exit
  6. :check_port
  7. set server_ip=%1
  8. if not defined server_ip goto :eof
  9. set serverport=%2
  10. if not defined serverport goto :eof
  11. set /a check_num+=1
  12. if !check_num! equ 1 (echo.运行结果:>Record.txt)
  13. echo [No.!check_num!]:正在检测 !server_ip! 的 !serverport! 端口...
  14. (ping -n 2 !server_ip!|find "ms TTL=" >nul)&&(set /a isPing=1)||(set /a isPing=2&(echo !server_ip!/ping不通/!serverport!端口不通)&(echo !server_ip!/ping不通/!serverport!端口不通>>Record.txt)&(echo.))
  15. if !isPing! equ 2 (goto :eof)
  16. start /min cmd.exe /k "(telnet -e 'q' !server_ip! !serverport!)&exit"
  17. ping -n 5 127.0.0.1>nul
  18. (taskkill /fi "windowtitle eq Telnet !server_ip!"|find " PID " >nul)&&((echo !server_ip!/ping通/!serverport!端口通)&(echo !server_ip!/ping通/!serverport!端口通>>Record.txt))||((echo !server_ip!/ping通/!serverport!端口不通)&(echo !server_ip!/ping通/!serverport!端口不通>>Record.txt))
  19. echo.
  20. goto :eof
复制代码
是用的微信群里面有人发的这个代码吗?
希望这个代码糟糕的格式不要把刚刚开始学习批处理的你带跑偏了。
发表于 2021-12-10 22:07:44 | 显示全部楼层
这代码是我在群里发的,想问管理员,这代码格式有这么糟糕吗??
发表于 2021-12-10 22:14:24 | 显示全部楼层
回复 3# xyh9999


感谢你乐于助人的精神。
写代码这事吧,自己开心就好,也不必太在意别人怎么说。
发表于 2023-4-21 17:15:30 | 显示全部楼层
回复 2# Batcher


    大佬,怎么这个代码在win10上用不生效,没结果出来
发表于 2023-4-21 17:21:06 | 显示全部楼层
回复 5# ylmaster


代码不是我写的,我也不想修改这种格式糟糕的代码。
如果你想实现某个具体功能,建议另外找别的代码,或者单独发帖描述具体需求。

如果你就是想搞清楚这个代码为啥在Win10里面没效果,可以试试Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 23:25 , Processed in 0.018309 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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