| 
 | 
 本帖最后由 dos时代菜鸟 于 2023-2-7 12:44 编辑  
 
考虑到 端口可能变动,所以应该以 服务进程名 为查找关键字。而名称都是在相关信息行的下一行出现,所以必须提前做变量保存,过后将变量删除。 
 
以下红色部分为 批处理内容: 
 
@echo off 
setlocal ENABLEDELAYEDEXPANSION 
set "name=TermService" 
set n= 
echo   名称       端口   外部ip 
echo --------------------------------- 
for /f "tokens=1,2,3,4,5 delims= " %%c in ('netstat -tanbo') do ( 
    if not "%%d"=="" ( 
        set "port=%%d" 
        set "port=!port::=,! 
        for %%x in (!port!) do set "port=[:%%x]" 
        set "out_ip=%%e" 
    ) else ( 
        if /i "%%c"=="!name!" ( 
            set /a n+=1 
            echo %%c !port! !out_ip! 
        ) 
        set port= 
        set out_ip= 
    ) 
) 
if !n! equ 0 echo !name! 进程未开启. 
pause 
 
运行结果如下: 
 
 
 
 
 
 
 
 |   
 
 
 
 |