萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Windows XP 教學

Windows XP 批次掃描未使用 IP 位址:For 迴圈 + Ping + Find 過濾超時,結果自動存檔

網管需在 DHCP 範圍 (如 192.168.1.1~100) 快速找出**未被使用的 IP** 以便靜態指派。XP 內建 `ping` + `for` 迴圈 + `find` 過濾「逾時」回應,批次檔一鍵掃描並輸出純淨可用 IP 清單。

批次檔完整程式碼 (IPTracker.bat)

@echo off
echo 正在掃描 192.168.1.1-100 未使用 IP,請稍候...
date /t > IPList.txt
time /t >> IPList.txt
echo =========== >> IPList.txt
for /L %%f in (1,1,100) do (
  ping -n 2 -w 500 192.168.1.%%f | find "Request timed out." >nul
  if errorlevel 1 (
    echo 192.168.1.%%f  [在線] >> IPList.txt
  ) else (
    echo 192.168.1.%%f  [離線/可用] >> IPList.txt
  )
)
cls
echo 掃描完成,結果已儲存至 IPList.txt
notepad IPList.txt

關鍵參數解析

參數說明
for /L %%f in (1,1,100)迴圈變數 %%f 從 1 遞增 1 至 100 (對應 IP 最後一段)
ping -n 2發送 2 個 ICMP 封包 (預設 4 個,2 個足夠判斷)
-w 500等待逾時 500 毫秒 (預設 4000ms,加快掃描速度)
find "Request timed out."尋找逾時字串 (英文版系統);中文系統請改 find "請求逾時。"
errorlevel 1`find` 找到字串 → errorlevel 0;**找不到** (有回應) → errorlevel 1

輸出範例 (IPList.txt)

2024/05/15
14:30:22
===========
192.168.1.1   [在線]       (閘道)
192.168.1.2   [離線/可用]
192.168.1.3   [在線]       (印表機)
192.168.1.4   [離線/可用]
...
192.168.1.100 [在線]       (NAS)

進階強化版功能

  • 自動偵測系統語言:讀取登錄 `HKEY_CURRENT_USER\Control Panel\International\LocaleName` 動態切換 `find` 字串。
  • 排除保留 IP 範圍:在迴圈內加入 `if %%f==1 goto next` 等跳過閘道/伺服器固定 IP。
  • 並行掃描 (Start /b):start /b ping ... 同時發送多個 ping,大幅縮短掃描時間 (需處理輸出同步)。
  • 輸出 CSV/HTML:便於匯入 IP 管理資料庫 (phpIPAM、NetBox)。

適用版本與限制

  • ✅ **Windows XP Professional / 2000 Professional / 2003** (Home Edition 同樣支援)。
  • ⚠ **ICMP 封包可能被防火牆/安全軟體攔截**,導致誤判為「離線/可用」。建議暫停防火牆或加入例外。
  • ⚠ 僅適用 **IPv4 / 同一子網路**。跨路由/VPN 需在目標網段機器執行。
  • 💡 現代環境建議使用 **Angry IP Scanner / Advanced IP Scanner / Nmap** (GUI/CLI 跨平台、多執行緒、MAC 廠商識別、NetBIOS/SSH/HTTP 服務偵測)。
copyright © 萬盛學電腦網 all rights reserved