@echo off color 1f Title XP 포트-프로 세 스 조회 setlocal enabledelayedexpansion echo X- -[ echo 이 컴퓨터 의 열 린 포트 및 이 포트 를 사용 하 는 프로 세 스 echo ^- -a 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(첫 번 째 매개 변수)을 분할 하여 두 번 째 매개 변 수 를%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 )