2012-04-25 53 views
2

我正在寫一個批處理文件來自動檢查端口80的可用性,並提供一個錯誤消息,如果它正在由另一個程序使用。但我不確定如何檢查批處理文件中的端口80可用性。如何檢查端口80是否可用在Windows XP中使用批處理文件

我發現下面的命令來檢查與終端。

netstat -o -n -a | findstr 0.0:80 

但我需要一個批處理文件來檢查它像如下

if (!//port 80 is available) { 
    // Give an error message 
} else { 
    // Continue with the rest 
} 

是否有人可以幫助我在此。

回答

9

你可以試試這樣:

@echo off 
netstat -o -n -a | findstr ZXCZXCZCZX 
if %ERRORLEVEL% equ 0 (@echo "port taken") 
ELSE (@echo "port available") 

,當找不到一個項目FINDSTR將返回%ERRORLEVEL%> 0

+0

(在Windows 7 64位測試命令控制檯上)它對我很好。 :)我們可以輸出使用端口80的程序名稱 – Thilanka 2012-04-25 12:37:20

+0

@Thilanka對不起,我嘗試了一些變化,但找不到一個好的解決方案。問題是netstat和標誌-b輸出進程名稱,但在一個單獨的行,因此findstr無法找到它。也嘗試從[Microsoft SysInternals](http://www.sysinternals.com)tcpvcon但輸出不包含端口號 – Steve 2012-04-25 12:56:17

+0

「netstat -o -n -a | findstr ZXCZXCZCZX」命令將以任何方式打印輸出終點站。但問題是它只打印id而不是名稱。如果我們可以允許它打印名稱就足夠了。 – Thilanka 2012-04-25 13:00:26

相關問題