先上源碼:
功能:將主機位提取到1.bat末尾,不保留空行。
@echo off
for /f "delims=: tokens=2" %%a in ('ipconfig^|find "IPv4"') do (
for /f "delims=. tokens=4" %%b in ("%%a") do (
set /p=^%%b<nul>>1.bat
)
)
這裏用到的IP提取位ipconfig,其實也可以用netsh int ip show add。大家看哪個方便就用哪個。
如果一個網卡有多個ip,或者多個網卡。可以在for中使用skip進行跳過,拿到指定ip後,do參數中使用goto跳出循環。
去掉空行小訣竅:set /p=*<nul 關鍵點就在於set /p=和<nul的使用。 set /p=的暫停輸入動作,用<nul自動代替了輸入,set中的變量就順利重定向輸出到了文件中。
小細節: set /p=^%%b>1.bat 重定向段代碼中, 考慮到主機位可能是1,可能是2,會被bat默認爲是等級變量。在前面加入了 轉移字符^ 防止無法輸出主機位~