Board logo

标题: [文本处理] 求助大佬,wmic NICCONFIG如何同时显示两个网卡的IP信息,并中文注释。 [打印本页]

作者: uranus12    时间: 2020-11-13 16:32     标题: 求助大佬,wmic NICCONFIG如何同时显示两个网卡的IP信息,并中文注释。

目前笔记本同时连接有线和无线,想通过wmic NICCONFIG where "IPEnabled='TRUE' and DHCPEnabled='TRUE'" 获取两个网卡的信息,但以下脚本输出的文本只能显示一个网卡信息,求大佬完善脚本,要求有中文注释并输出效果如图。

脚本如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. set apath="E:\Mydata\%Username%\Desktop\ip地址.txt"
  3. echo >%apath%
  4. for /f  %%i in ('hostname') do set a=%%i
  5. echo 计算机名:%a%>>%apath%
  6. for /f  %%i in ('whoami') do set a=%%i
  7. echo 登陆用户:%a%>>%apath%
  8. for /f  %%i in ('set logonserver') do set a=%%i
  9. echo 登陆哪台域:%a%>>%apath%
  10. echo;>>%apath%
  11. for /f "tokens=1,2,3 delims=={,}" %%a in ('wmic NICCONFIG where "IPEnabled='TRUE' and DHCPEnabled='TRUE'" get Description^,MacAddress^,DefaultIPGateway^,DNSServerSearchOrder^,IPAddress^,IPSubnet /value^|findstr "="') do (
  12. if "%%a"=="Description" (set "Name=%%~b"
  13.                ) else if "%%a"=="DefaultIPGateway" (set "Gate=%%~b"
  14.                ) else if "%%a"=="DNSServerSearchOrder" (set "DSN1=%%~b"&set "DSN2=%%~c"
  15.                ) else if "%%a"=="IPAddress" (set "IP=%%~b"
  16.                ) else if "%%a"=="IPSubnet" (set "Mask=%%~b"
  17.                ) else if "%%a"=="MACAddress" (set "MAC=%%~b"
  18.                ) else if "%%a"=="ServiceName" (set "Chip=%%~b")
  19. if defined Gate if defined Chip goto :show
  20. )
  21. :show
  22. echo;网卡名称:%Name%>>%apath%
  23. echo;IP地址:%IP%>>%apath%
  24. echo;子网掩码:%Mask%>>%apath%
  25. echo;默认网关:%Gate%>>%apath%
  26. echo;首选DNS:%DSN1%>>%apath%
  27. echo;备用DNS:%DSN2%>>%apath%
  28. echo;MAC地址:%MAC%>>%apath%
  29. ::pause
  30. ::start %apath%
复制代码

作者: peterboy666    时间: 2020-11-13 17:15

可参考

[网络连接] 请问:用BAT怎么才能判别网卡是无线?还是有线网卡?
作者: uranus12    时间: 2020-11-15 04:41

回复 2# peterboy666
您好,我想把bat脚本放到域控上面,域用户每次登录都会自动执行脚本,把信息输出到文本上,这样方便远程。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2