簡體   English   中英

從 netsh 識別 NIC 名稱並執行某些操作

[英]Identify NIC Name from netsh and do something

我正在擴展我以前的一篇文章

這樣做的目的是再次檢查網絡標簽是否存在,如果是,腳本將繼續應用 IP 詳細信息,如果不是,那么我們需要檢查 devcon 是否無法運行或虛擬網卡是否未正確添加。

僅供參考:這是用於虛擬機遷移,遷移后沒有網卡,我們運行 devcon 清除所有以前的適配器/硬件並添加應該按正確順序的新網卡(本地連接,本地連接 2和本地連接 3) 但由於 Windows 情況並非總是如此:( 所以需要進行一些健全性檢查。

到目前為止,我所擁有的如下。

SET NICNaming=OTHER
FOR /F "Tokens=2 Delims=[]" %%a IN ('VER') DO SET _VerNo=%%a
FOR /F "Tokens=2-3 Delims=. " %%b IN ("%_VerNo%") DO (
    IF "%%b.%%c" LEQ  "6.1" SET NICNaming=Local Area Connection
    IF "%%b.%%c" GEQ  "6.2" SET NICNaming=Ethernet

)

for /f "skip=2 tokens=3*" %%A in ('netsh interface show interface') do (

IF "%%B" EQU "%NICNaming%" (ECHO %NICNaming% FOUND!) ELSE (ECHO %NICNaming% MISSING!)
IF "%%B" EQU "%NICNaming% 2" (ECHO %NICNaming% 2 FOUND!) ELSE (ECHO %NICNaming% 2 MISSING!)
IF "%%B" EQU "%NICNaming% 3" (ECHO %NICNaming% 3 FOUND!) ELSE (ECHO %NICNaming% 3 MISSING!)
)

它輸出有點正確,但正在加倍信息,就像這樣 - 任何想法為什么?

Local Area Connection MISSING!
Local Area Connection 2 FOUND!
Local Area Connection 3 MISSING!
Local Area Connection MISSING!
Local Area Connection 2 MISSING!
Local Area Connection 3 MISSING!

因此,理想情況下,一旦它正常運行,並且如果添加的 3 個新 NIC 中的任何一個丟失或命名不正確,則會警告用戶修復問題。

謝謝乙

編輯:Wox 的響應修復了問題 - 下面的正確代碼!

SET NICNaming=OTHER
FOR /F "Tokens=2 Delims=[]" %%a IN ('VER') DO SET _VerNo=%%a
FOR /F "Tokens=2-3 Delims=. " %%b IN ("%_VerNo%") DO (
    IF "%%b.%%c" LEQ  "6.1" SET NICNaming=Local Area Connection
    IF "%%b.%%c" GEQ  "6.2" SET NICNaming=Ethernet

)

for /f "skip=2 tokens=3*" %%A in ('netsh interface show interface') do (

IF "%%B" EQU "%NICNaming%" (ECHO %NICNaming% FOUND!) ELSE (ECHO %NICNaming% MISSING!)
IF "%%B" EQU "%NICNaming% 2" (ECHO %NICNaming% 2 FOUND!) ELSE (ECHO %NICNaming% 2 MISSING!)
IF "%%B" EQU "%NICNaming% 3" (ECHO %NICNaming% 3 FOUND!) ELSE (ECHO %NICNaming% 3 MISSING!)
Goto Done
)
:Done

顯然netsh interface show interface顯示了兩行,所以最后一個循環執行了兩次。

一次迭代后跳出循環:

for ......... (
    ..........
    goto done
)
:done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM