中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 18:03
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助] 字符串筛选
可打印版本  771 / 6
第1楼 knitter 发表于 2009-04-22 04:12
新手上路 发帖 2 积分 2
[求助] 字符串筛选
说明:
最近在使用InstallAnywhere打包J2EE应用程序,在安装过程中需要检查用户设置的服务端口是否已经被占用,所有用如下指令查询:(这里假设用户输入80作为端口)
netstat -an -p TCP | find "80"

将会返回如下结果:
Proto Local Address Foreign Address State
TCP 192.168.2.142:80 72.14.203.80:88 CLOSE_WAIT

由于 Foreign Address 对应的字段相关的端口是远端服务器监听端口,对服务没有影响,所以,我想:
只截取 Local Address 中相应的端口,例如上面的192.168.2.142:80 中对应的80

其它的选择:
或者有什么其它的办法能 "只获取本机开放了的TCP端口",这样就不用进行上面的截取了。

P.S
由于以上操作都是在打包程序安装之前进行的操作,所有不能使用自定义的第三方程序,只能使用Windows系统自带的程序实现

请指教!
第2楼 freeants001 发表于 2009-04-22 04:32
中级用户 发帖 244 积分 330 来自 湖北
第3楼 knitter 发表于 2009-04-22 04:51
新手上路 发帖 2 积分 2
不行哦!
首先,感谢你的帮助,不过没有完全实现我的要求:
假设有这种情况:
Proto Local Address Foreign Address State
TCP 192.168.2.80:88 72.14.203.128:8482 CLOSE_WAIT

在这里,虽然实际上没有开启的80端口,但是由于IP地址192.168.2.80中包含了字符串"80",这样导致该行被命中,出现了错误结果,所以,我希望是:

只截取 Local Address 中相应的端口,例如上面的192.168.2.142:80 中对应的80
第4楼 freeants001 发表于 2009-04-22 06:45
中级用户 发帖 244 积分 330 来自 湖北
第5楼 yishanju 发表于 2009-04-22 09:12
银牌会员 发帖 1,357 积分 1,488
试试WMIC ,好像可以。。。
第6楼 jmz573515 发表于 2009-04-25 06:14
银牌会员 发帖 464 积分 1,212
第7楼 26933062 发表于 2009-04-25 08:25
银牌会员 发帖 879 积分 2,268
若你的 Local Address 中间是空格的话
:

[ Last edited by 26933062 on 2009-4-25 at 08:26 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023