?? 巧用批處理實現windows進程和端口關聯.txt
字號:
巧用批處理實現windows進程和端口關聯 ★★★ 【字體:小 大】
巧用批處理實現windows xp/windows2003進程和端口關聯
作者:phanride… 文章來源:reddragonfly.org 點擊數:681 更新時間:2005-4-19
--------------------------------------------------------------------------------
閑來無事的時候隨手寫了個,把它放在%SYSTEM%目錄下,可省不少心-_-
@REM =====================
@REM = Write phanrider =
@REM = 2005.1.12 =
@REM =====================
@ECHO OFF
set zhl_file=task_1$.txt
set zhl_temp_file=Temp1$.zhl
set zhl_file2=task_2$.txt
set zhl_temp_file2=Temp2$.zhl
set temp_1=lmj_zhl$.txt
set temp_2=lmj_zhl2$.txt
set zhl_1=%1
set zhl_2=2
:BEGIN
if "%zhl_1%"=="" goto :HELP
if %zhl_1%==0 @echo 端口號不能為零!&& goto :END
if exist %zhl_file% erase %zhl_file%
if exist %zhl_temp_file% erase %zhl_temp_file%
echo 正在處理網絡端口...
netstat -ano | find ":" >%zhl_file% 2>nul
for /f "eol=U tokens=1,2,3,4,5*" %%a in (%zhl_file%) do @echo %%a %%b$ %%c %%d #""%%e""# >> %zhl_temp_file% 2>nul
for /f "eol=T tokens=1,2,3,4*" %%a in (%zhl_file%) do @echo %%a %%b %%c * #""%%d""# >> %zhl_temp_file% 2>nul
if exist %zhl_file2% erase %zhl_file2%
if exist %zhl_temp_file2% erase %zhl_temp_file2%
echo 正在讀取進程映像......
tasklist /FO CSV >%zhl_file2% 2>nul
echo 正在初始化映像和端口......
for /f "skip=2 tokens=1,2,3,4,5* delims=," %%a in (%zhl_file2%) do @echo %%a,#%%b#,%%c,%%d,%%e >> %zhl_temp_file2% 2>nul
echo 正在查找進程和端口對應關系......
if exist %temp_1% erase %temp_1%
type %zhl_temp_file% | find ":%zhl_1%$" >> %temp_1% 2>nul
for /f "tokens=4,5*" %%x in (%temp_1%) do @set zhl_2=%%y
if "%zhl_2%"=="2" echo 沒有任何進程使用%zhl_1%端口 && goto :END
type %zhl_temp_file2% | find "%zhl_2%" >> %temp_2% 2>nul
for /f "tokens=1,2* delims=," %%f in (%temp_2%) do @set zhl_3=%%f
echo 發現進程%zhl_3%使用%zhl_1%端口
rem if exist Temp1.zhl erase Temp1.zhl
rem for /f "tokens=2,3*" %%i in (1.txt) do @echo %%j* >> Temp1.zhl
rem if exist Temp2.zhl erase Temp2.zhl
rem for /f "tokens=1,2* delims=:" %%j in (Temp1.zhl) do @echo %%k >> Temp2.zhl
REM echo %zhl_1%
REM type Temp1.zhl | find "%zhl_1%*" /N
goto :end
:HELP
echo WINXP/WIN2003查看指定端口是哪個進程使用
echo.
echo USE: %0 port
:END
REM ====================================
REM 最后的清掃工作
REM ====================================
erase %zhl_file% 1>nul 2>&1
erase %zhl_file2% 1>nul 2>&1
erase %zhl_temp_file% 1>nul 2>&1
erase %zhl_temp_file2% 1>nul 2>&1
erase %temp_1% 1>nul 2>&1
erase %temp_2% 1>nul 2>&1
set zhl_file=
set zhl_temp_file=
set zhl_file2=
set zhl_temp_file2=
set temp_1=
set zhl_1=
set zhl_2=
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -