找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 918|回复: 3

批处理查看进程使用端口

[复制链接]

485

主题

3564

回帖

70

牛毛

初生牛犊

积分
70
发表于 2008-11-7 19:46:29 | 显示全部楼层 来自 辽宁省营口市
好难啊...

我要到这种地步就好了

633

主题

3624

回帖

9063

牛毛

论坛管理员

堕落天使

积分
11301
QQ
发表于 2008-11-7 19:47:03 | 显示全部楼层
坐下看看,呵呵

6

主题

43

回帖

75

牛毛

初生牛犊

_﹏鸳鸯戏氺.佺他媽淹死;比翼双

积分
75
QQ
发表于 2008-11-8 16:41:18 | 显示全部楼层 来自 上海市
很复杂啊。都看不懂! [s:162]

41

主题

130

回帖

228

牛毛

一级牛人

积分
228
 楼主| 发表于 2008-11-7 19:44:36 | 显示全部楼层 |阅读模式 来自 湖南省邵阳市
@echo off
color 1f
Title XP端口-进程查询
setlocal enabledelayedexpansion
echo ╔--╗
echo 本机开放的端口及使用该端口的进程
echo ╚--╝
echo ------------------------------------
echo端口号 进程名称
ECHO TCP协议:
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割;
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j;
for /F \"usebackq skip=4 tokens=2,5\" %%i in (`\"netstat -ano -p TCP\"`) do (
call :Assoc %%i TCP %%j
echo !TCP_Port! !TCP_Proc_Name!
)

ECHO UDP协议:
for /F \"usebackq skip=4 tokens=2,4\" %%i in (`\"netstat -ano -p UDP\"`) do (
call :Assoc %%i UDP %%j
echo !UDP_Port! !UDP_Proc_Name!
)
echo 按任意键退出
pause>nul

:Assoc
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号)
for /F \"tokens=2 delims=:\" %%e in (\"%1\") do (
set%2_Port=%%e
)
:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP;
for /F \"skip=2 usebackq delims=, tokens=1\" %%a in (`\"Tasklist /FI \"PID eq %3\" /FO CSV\"`) do (
::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。
set %2_Proc_Name=%%~a
)
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-26 19:11 , Processed in 0.181994 second(s), 50 queries .

Powered by Discuz! X3.5

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