中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 18:14
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创]网络监听之P处理
可打印版本  692 / 0
第1楼 xlong 发表于 2007-03-19 04:22
新手上路 发帖 2 积分 6
[原创]网络监听之P处理
;)
最近编了一可以监听网络连接的P处理供大家参考、指正与完善:

@ECHO OFF
setlocal enabledelayedexpansion
COLOR 2A & TITLE 编辑 & set /p Expr=地址:
:gleep

rem 如果输入指定主机名简称则跳转LPL或LPS,如果输入为其它主机名或IP则转至LEEP

IF /I NOT %Expr:~0,7% == L IF /I NOT %Expr:~0,7% == S GOTO LEEP
goto lp%Expr%
:LPl
set Expr=Lxq&goto leep
:LPs
set Expr=Ssh

:LEEP

REM 输入为IP时变量设置为2(可参考PING IP的输出),如输入为主机名则设为3(可参考PING ComputerName的输出),
REM 用FOR取出主机名的IP,并且FOR行可判断主机名或IP是否存在,其中172为本人局域网的前部分

IF %Expr:~0,3%==172 (SET AA=2) ELSE (SET AA=3)
for /f "usebackq tokens=%AA% delims=[] " %%i in (`PING %Expr%`) do (IF NOT %%i==could (SET AAA=%%i&GOTO LLP) ELSE (echo.&echo 找不到此地址&echo.&GOTO PPP))

:LLP

rem 显示结果,其中%AAA%为FOR提取的IP,%Expr%为输入值

netstat -a | find "%AAA%"||netstat -a | find "%Expr%"
IF %ERRORLEVEL% EQU 0 GOTO LLP

REM 如果没指定的连接,则显示输入值,有侧显示主机名与其IP

IF %Expr:~0,3%==172 ECHO.&ECHO 未发现%Expr%的连接!
IF NOT %Expr:~0,3%==172 ECHO.&ECHO 未发现%Expr%:%AAA%的连接!
:PPP
ECHO.&set /p Expr=新地址(EXIT,CLS,CMD):
IF /I %Expr%==EXIT EXIT
IF /I %Expr%==CMD %COMSPEC%
IF /I %Expr%==CLS CLS&GOTO PPP
GOTO gleep
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023