通過cmd獲取網(wǎng)卡速率的代碼
更新時間:2025年05月27日 11:12:07 投稿:mdxy-dxy
今天從群里看到通過bat獲取網(wǎng)卡速率兩段代碼,感覺還不錯,學(xué)習(xí)bat的朋友可以參考一下
1、本機有線網(wǎng)卡支持的最高速度:%v%
@echo off & setlocal enabledelayedexpansion echo 代碼開始 echo 65001編碼獲?。?> nul chcp 65001 >nul chcp 936 > nul echo 936編碼輸出: > nul @echo off &for /f "delims=" %%v in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}" /s ^|find /i "\*speedduplex" ') do set "kv=%%v" echo,%kv% > nul for /f "tokens=1-4 delims= " %%a in ('reg query "%kv%" ') do set "v=%%c %%d" echo, echo, echo, 本機有線網(wǎng)卡支持的最高速度:%v% echo, echo, pause >nul exit reg query "%kv%" /s >1.txt start "" 1.txt reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}" /s >1.txt start "" 1.txt >nul
效果圖
2、正在掃描有線網(wǎng)卡配置
@echo off & setlocal enabledelayedexpansion echo 代碼開始 cls @echo off Setlocal enabledelayedexpansion net session >nul 2>&1 || ( echo 正在請求管理員權(quán)限... echo CreateObject^("Shell.Application"^).ShellExecute "%~f0", "", "", "runas", 1 > "%temp%\getadmin.vbs" cscript //b "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" >nul 2>&1 exit /b ) echo 正在掃描有線網(wǎng)卡配置... echo ======================================== for /f "delims=" %%v in (' reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}" /s ^| findstr /i "\\\*SpeedDuplex\\enum" ^| findstr /v "NdiExt" ') do ( set "enum_path=%%v" set "adapter_path=!enum_path:\Ndi\Params\*SpeedDuplex\enum=!" set "adapter_name=" for /f "tokens=2,*" %%A in (' reg query "!adapter_path!" /v DriverDesc 2^>nul ^| find "REG_SZ" ') do ( set "adapter_name=%%B" ) echo [網(wǎng)卡實例] !adapter_path:~-4! >nul if defined adapter_name ( echo [網(wǎng)卡名稱] !adapter_name! ) else ( echo [警告] 未找到網(wǎng)卡名稱 ) echo [支持模式]: for /f "tokens=2,*" %%a in (' reg query "!enum_path!" ^| findstr /i "[0-9][0-9]* " ') do ( echo %%b ) echo ======================================== ) pause pause >nul exit
效果圖如下
3、BAT 網(wǎng)卡抓取以及設(shè)置IP
@echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit ::netsh interface ip set address "LAN" dhcp ::netsh interface ip set dns "LAN" dhcp ::netsh interface ip set address "LAN" static 192.168.1.175 255.255.255.0 192.168.1.1 ::netsh interface ip set dns "LAN" static 192.168.1.1 ::netsh interface show interface @echo off & setlocal enabledelayedexpansion echo. & echo 正在抓取網(wǎng)卡名稱…… set m=0 for /f "tokens=1* delims=," %%a in ('Getmac /v /nh /fo csv') do ( set /a m+=1 set "name!m!=%%a" set "name=%name:~1,-1%" ) echo. & echo 1:!name1! & echo 2:!name2! & echo 3:!name3! & echo 4:!name4! & echo 5:!name5! & echo 6:!name6! & echo 7:!name7! & echo 8:!name8! & echo 9:!name9! & echo 10:!name10! set /p "Select_Card=選擇需要設(shè)置的網(wǎng)卡序號:" echo. if "%Select_Card%" == "1" ( set card=!name1! ) else ( if "%Select_Card%" == "2" ( set card=!name2! ) else ( if "%Select_Card%" == "3" ( set card=!name3! ) else ( if "%Select_Card%" == "4" ( set card=!name4! ) else ( if "%Select_Card%" == "5" ( set card=!name5! ) if "%Select_Card%" == "6" ( set card=!name6! ) if "%Select_Card%" == "7" ( set card=!name7! ) if "%Select_Card%" == "8" ( set card=!name8! ) if "%Select_Card%" == "9" ( set card=!name9! ) if "%Select_Card%" == "10" ( set card=!name10! ) else ( echo. & echo 未鍵入任何參數(shù)! & pause>nul & cls & goto :Select_Card ))))) rem echo. & echo 選擇網(wǎng)卡:%card% rem 強制獲取管理員權(quán)限 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit rem ::設(shè)置變量 rem set NAME="以太網(wǎng)" set NAME=%card% echo 網(wǎng)絡(luò)設(shè)置: echo 1.設(shè)置靜態(tài)IP echo 2.設(shè)置動態(tài)IP echo 3.退出 echo 4.獲取網(wǎng)卡mac地址 set /p operate= if %operate%==1 goto 1 if %operate%==2 goto 2 if %operate%==3 goto 3 if %operate%==4 goto 4 :1 echo 正在設(shè)置靜態(tài)IP,請稍等... rem ::可以根據(jù)你的需要更改 set /p ADDR=請輸入IP地址: set /p MASK=請輸入子網(wǎng)掩碼: set /p GATEWAY=請輸入網(wǎng)關(guān): netsh interface ipv4 set address %NAME% static %ADDR% %MASK% %GATEWAY% set /p DNS1=請輸入主DNS: if "%DNS1%"=="" (echo DNS1為空) else netsh interface ipv4 set dns %NAME% static %DNS1% validate=no set /p DNS2=請輸入備用DNS: if "%DNS2%"=="" (echo DNS2為空) else (netsh interface ipv4 add dns %NAME% %DNS2% validate=no) echo **********已設(shè)置為靜態(tài)IP*********** ::%ADDR% ::%MASK% ::%GATEWAY% ::%DNS1% ::%DNS2% pause goto 3 :2 echo 正在設(shè)置動態(tài)IP,請稍等... echo 正在從DHCP自動獲取IP地址... netsh interface ip set address %NAME% dhcp echo 正在從DHCP自動獲取DNS地址... netsh interface ip set dns %NAME% dhcp echo **********已設(shè)置為動態(tài)IP地址*********** pause goto 3 :3 exit :4 for /f "skip=1 tokens=1 delims= " %%a in ('getmac') do set mac=%%~a ::如果輸出的mac地址要以空格為分割符的內(nèi)容,請把%mac%換成%mac:-= % (echo %mac%)>C:\Users\clay\Desktop\test pause
效果圖如下
此腳本可抓取本機的所有網(wǎng)卡信息,設(shè)置對應(yīng)網(wǎng)卡的動態(tài)及靜態(tài)IP地址
您可能感興趣的文章:
相關(guān)文章
命令行下通過sc刪除服務(wù)提示[SC] OpenService FAILED 1060處理方法
dos刪除系統(tǒng)服務(wù)引發(fā)的報錯:[SC] OpenService FAILED 1060處理方法,需要的朋友可以參考下。2011-06-06bat+xcopy實現(xiàn)只復(fù)制比目標文件更新的文件
這篇文章主要介紹了通過xcopy的/d參數(shù)復(fù)制比目標文件更新的文件,減少硬盤IO,需要的朋友可以參考下2014-04-04