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

[网络连接] 批处理判断指定进程是否连接远程指定端口

本帖最后由 zll855 于 2017-1-20 00:52 编辑

批处理判断指定进程是否连接远程指定端口
如使用批处理如何判断进程java.exe 是否连接了远程ip的8080和80端口

最好不借助第三方程序

netstat -ano,然后对比右侧 pid

TOP

那位大神可以写个快捷的代码

TOP

厉害了,就这个问题,十多天了,还要别人写代码。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 4# codegay


   我搞不定啊

TOP

本帖最后由 bbaa 于 2017-1-28 13:27 编辑
  1. @Rem Made By:Bbaa
  2. @Echo off
  3. @setlocal enabledelayedexpansion
  4. @Rem Demo
  5. :Begin
  6. Rem 获取ip地址.......
  7. Set IP=
  8. Set /p IP=请输入监视IP:
  9. Rem 监视端口列表
  10. Set 端口列表_计数=1
  11. For %%i In (
  12.         "80"
  13.         "8080"
  14. ) Do (Set "___端口列表___!端口列表_计数!=%%~i"&Set /a 端口列表_计数+=1)
  15. :Get_1
  16. Set Pid列表_计数=1
  17. Rem 获取java.exe Pid
  18. For /f "Tokens=1,2 Delims=:" %%i in ('Tasklist /FI "ImageName eq java.exe" /FO list') do (
  19.         Rem 获取Pid
  20.         If /i "%%~i"=="Pid" (
  21.                 Set "Pid=%%~i"
  22.                 Set "Pid=!Pid: =!"
  23.                 Set "___Pid列表___!Pid列表_计数!=!Pid!"
  24.                 Set /a Pid列表_计数+=1
  25.         )
  26. )
  27. Rem 获取java.exe Pid End
  28. If Not  Defined ___Pid列表___1 (Echo 貌似你没有运行java.exe +_+&PAUSE>nul&exit)
  29. Rem 获取端口列表
  30. set 显示列表_计数=1
  31. For /f "Tokens=1,3,5" %%i In ('Netstat -ano') Do (
  32.         If /i "%%~i"=="TCP" (
  33.                 Rem 判断监视Ip
  34.                 If "!IP!"=="%%j" (
  35.                         For /f "Tokens=2 Delims=:" %%a In ("%%j") do (
  36.                                 For /f "Tokens=2 Delims==" %%b In ('Set ___端口列表___') Do (
  37.                                         If %%a==%%b (
  38.                                                 Rem 验证Pid
  39.                                                 For /f "Tokens=2 Delims==" %%c In ('Set ___Pid列表___') Do (
  40.                                                         If "%%k"=="%%c" (set "___显示列表___!显示列表_计数!=java.exe Pid:%%k 占用端口:%%b"&set /a 显示列表_计数+=1)
  41.                                                 )
  42.                                         )
  43.                                 )
  44.                         )
  45.                 )
  46.         )
  47. )
  48. :Show
  49. If Defined  ___显示列表___1 (
  50. For /f "Tokens=2 Delims==" %%b In ('Set ___显示列表___') Do (Echo;%%b)
  51. ) Else (echo java未连接端口)
  52. pause>nul&exit
复制代码
做完了O(∩_∩)O~~
PS:这贴还会有人么..........
1

评分人数

    • 老刘1号: 先赞下,但我可不支持伸手党技术 + 1

TOP

返回列表