所以我目前正在研究掃描網絡的批處理文件。我所做的是創建一個文本文件,其中只有網絡上每臺計算機的IP響應ping請求,並且ping請求的輸出保存到名爲IPAdresses.txt的文件中 :: ==== ================================================== ====================用批處理腳本解析txt文件中的文本行嗎?
setlocal enabledelayedexpansion
@echo off
::文件復位和變量
echo. > %~dp0Logs\IPAddresses2.txt
SET fl=%~dp0Logs\IPAddresses.txt
::此命令執行ping請求並保存只是對%〜dp0Logs \ IPAddresses.txt的回覆。 ::每個返回的ping將在文件中產生一個如下所示的行:「回覆自192.168.1.1:bytes = 32 time = 2ms TTL = 64」。
FOR /L %%i IN (1,1,254) DO ping -n 1 192.168.1.%%i | FIND /i 「Reply」 >> %fl%
::該命令解析 「從192.168.1.1答覆:字節= 32時間= 2ms的TTL = 64」 行的文件中,並輸出保存到%〜dp0Logs \ IPAddresses2.txt。
for /f "usebackq tokens=3" %%t in (`findstr /b /c:Reply from %fl% `) do (
echo %%t >> %~dp0Logs\IPAddresses2.txt
)
:: -----------問題-----------
::這個問題是解析。最後一個命令只會解析「192.168.1.1:」,這是因爲它只在行中佔用3個令牌(或字符串中的第三組字符)。我需要從「192.168.1.1:」中刪除「:」。爲了清楚我想刪除IP地址末尾的分號和以下空格。
::我試圖把每一行放入一個變量並剪切拖尾字符,但我無法讓它工作。 ::或者有沒有辦法改變FOR命令來做到這一點?
我一直在尋找兩天,嘗試各種各樣的工作,但沒有運氣。 我只需要在文本文件中使用IP來獲得更多功能,以及網絡範圍的NET命令。
任何幫助,將不勝感激 謝謝。