最近遇到一个问题, 在 中国DOS联盟论坛 上求助,得到比较满意的结果,记录如下:
=====================================================================
说明:
最近在使用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系统自带的程序实现!
===========================================================================
代码如下:
@echo off
for /f "tokens=1,2" %%i in ('netstat -an -p TCP^|find ":80"') do @echo %%j
pause
没有评论:
发表评论