Windows下bat指令碼判斷埠是否可用

Michael_DD發表於2015-04-08
Windows下bat指令碼判斷埠是否可用

思路過程:
因為telnet通的話,會直接跳轉視窗,無回顯,所以導致判斷比較不方便。
處理辦法。
如果埠可用,則會出來telnet程式,若埠不可用,則不會出現telnet程式。
根據程式是否存在來判斷埠是否可用!!

@echo off
start telnet.exe 192.168.9.62 22
ping -n 5 127.1>nul
tasklist|find /i "telnet.exe" > nul
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
 
:err
echo CRITICAL: Port check failed
exit /B 2
 
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
 
:ok
echo OK: Port check succeded
taskkill /F /IM telnet.exe > nul
exit /B 0

方法二:使用netstat直接進行判斷
此方法比較好用!
netstat -ano | findstr 192.168.9.62  | findstr 80 | findstr  ESTABLISHED
三個條件:
ip

狀態  ESTABLISHED (已建立的連線)   CLOSE_WAIT (關閉的連線)

@echo off
netstat -ano | findstr 192.168.9.62  | findstr 80 | findstr  ESTABLISHED > nul
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
GOTO unknown
 
:err
echo CRITICAL: Port check failed
exit /B 2
 
:unknown
echo UNKNOWN: Something went wrong
exit /B 3
 
:ok
echo OK: Port check succeded
exit /B 0







來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1548699/,如需轉載,請註明出處,否則將追究法律責任。

相關文章