|
本帖最后由 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
运行结果如下:
|
|