Board logo

标题: [网络连接] 求助:多网卡中,首选网卡的自动设置ip、掩码、网关、dns的批处理代码,有高手会么? [打印本页]

作者: 风神高少    时间: 2015-11-26 12:00     标题: 求助:多网卡中,首选网卡的自动设置ip、掩码、网关、dns的批处理代码,有高手会么?

求助:多网卡中,首选网卡的自动设置ip、掩码、网关、dns的代码,有高手会么?
Windows IP 配置

   主机名  . . . . . . . . . . . . . : ED-LIKEGAO
   主 DNS 后缀 . . . . . . . . . . . :
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 否
   WINS 代理已启用 . . . . . . . . . : 否

以太网适配器 本地连接 10:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Intel(R) 82583V Gigabit Network Connectio
n #4
   物理地址. . . . . . . . . . . . . : 28-51-32-0D-50-DA
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是

以太网适配器 本地连接 9:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Intel(R) 82583V Gigabit Network Connectio
n #3
   物理地址. . . . . . . . . . . . . : 28-51-32-0D-50-D7
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   本地链接 IPv6 地址. . . . . . . . : fe80::21b5:c0f8:10ba:f044%19(首选)
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.4(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.0.1
   DHCPv6 IAID . . . . . . . . . . . : 539513138
   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-1C-AC-32-C2-28-51-32-0A-F1-33

   DNS 服务器  . . . . . . . . . . . : 221.5.88.88
                                       210.21.196.6
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

以太网适配器 本地连接 8:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Intel(R) 82583V Gigabit Network Connectio
n #2
   物理地址. . . . . . . . . . . . . : 28-51-32-0D-50-D9
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是

以太网适配器 本地连接 7:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Intel(R) 82583V Gigabit Network Connectio
n
   物理地址. . . . . . . . . . . . . : 28-51-32-0D-50-D8
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是

隧道适配器 isatap.{F53D8566-A97C-4DA3-8639-BB8733A16762}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是

隧道适配器 isatap.{A07E4566-7FF4-4E09-8E9A-AFAF0A9B3113}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter #2
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是

隧道适配器 isatap.{D72EFF25-3757-4FF1-AAF8-DAF891BDD202}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter #3
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是

隧道适配器 isatap.{BF6ADD34-E8C9-4B60-901D-E188F11095AB}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter #4
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
作者: flyinnet9    时间: 2015-11-26 13:42

本帖最后由 flyinnet9 于 2015-11-26 17:23 编辑
  1. @echo off
  2. set /p ip=输入ip:
  3. set /p gw=输入网关:
  4. set /p mask=输入掩码:
  5. for /f "tokens=2 delims==" %%a in ('wmic nic where NetConnectionStatus^=2 get NetConnectionID/value^|find "本地连接"') do set "name=%%a"
  6. netsh int ip set address "%name%" static %ip% %mask% %gw% 1
  7. netsh int ip set dns "%name%" static 221.5.88.88 primary
  8. netsh int ip add dns "%name%" 210.21.196.6
复制代码

作者: 风神高少    时间: 2015-11-26 14:59

flyinnet9 发表于 2015-11-26 13:42



    如果我换到其他电脑,同样的多网卡,当前首选的连接名不是“本地连接 9”,以上代码失效。
作者: flyinnet9    时间: 2015-11-26 16:24

回复 3# 风神高少


    2楼已改
作者: 风神高少    时间: 2015-11-26 17:00

回复  风神高少


    2楼已改
flyinnet9 发表于 2015-11-26 16:24



    已解决,谢谢高人!


    如果IP做成手动输入可实现吗?
作者: flyinnet9    时间: 2015-11-26 17:23

回复 5# 风神高少


    2楼已改
作者: yiwuyun    时间: 2015-11-26 20:17

  1. if ($true){}# == ($true){}# goto ___yiwuyun
  2. <#BeginBatOperation#
  3. :___yiwuyun
  4. @echo off&setlocal&cls
  5. if "%~1"=="true" (
  6. (echo $yiwuyun_fileName="%~f0"&echo $BoolAdmin=$false&echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  7. call :MainBatOperation
  8. ) else (
  9. (echo $yiwuyun_fileName="%~f0"&echo $BoolAdmin=$true&echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  10. )
  11. exit/b 0
  12. :MainBatOperation
  13. echo 以管理员权限运行的批处理操作
  14. exit/b 0
  15. #EndBatOperation#>
  16. <#StartPowerShell#>
  17. Function RunAsAdmin{
  18. $AdminPrivilege=New-Object -ComObject "Shell.Application";
  19. $AdminPrivilege.ShellExecute("cmd.exe","/c $yiwuyun_fileName true",0,"runas",1);
  20. }
  21. Function RunMainProgram{
  22. $NetName=Get-NetAdapter -Physical;
  23. for($i=0;$i -lt $NetName.Count;$i++){
  24.    if($NetName.ifName[$i] -notlike "WiFi*"){$Name=$NetName.Name[$i];break;}
  25. }
  26. netsh interface ipv4 set address name=$Name source=dhcp
  27. netsh interface ipv4 set dnsservers name=$Name source=dhcp register=primary
  28. }
  29. if($BoolAdmin){
  30. RunAsAdmin;
  31. }else{
  32. RunMainProgram;
  33. }
  34. <#EndPowerShell#>
复制代码
不是所有的连接都叫本地连接。我的就叫lan和wlan。
作者: yiwuyun    时间: 2015-11-26 20:27

  1. if ($true){}# == ($true){}# goto ___yiwuyun
  2. <#BeginBatOperation#
  3. :___yiwuyun
  4. @echo off&setlocal&cls
  5. if "%~1"=="true" (
  6. (echo $yiwuyun_fileName="%~f0"&echo $BoolAdmin=$false&echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  7. call :MainBatOperation
  8. ) else (
  9. (echo $yiwuyun_fileName="%~f0"&echo $BoolAdmin=$true&echo $strPath="%~dp0"&type "%~f0")|powershell -command -
  10. )
  11. exit/b 0
  12. :MainBatOperation
  13. echo 以管理员权限运行的批处理操作
  14. exit/b 0
  15. #EndBatOperation#>
  16. <#StartPowerShell#>
  17. Function RunAsAdmin{
  18. $AdminPrivilege=New-Object -ComObject "Shell.Application";
  19. $AdminPrivilege.ShellExecute("cmd.exe","/c $yiwuyun_fileName true",0,"runas",1);
  20. }
  21. Function RunMainProgram{
  22. $NetName=Get-NetAdapter -Physical;
  23. $Name=$NetName|%{if($_.ifName -notlike "WiFi*"){$_.Name;}}
  24. netsh interface ipv4 set address name=$Name source=dhcp
  25. netsh interface ipv4 set dnsservers name=$Name source=dhcp register=primary
  26. }
  27. if($BoolAdmin){
  28. RunAsAdmin;
  29. }else{
  30. RunMainProgram;
  31. }
  32. <#EndPowerShell#>
复制代码

作者: 风神高少    时间: 2015-11-27 09:14

回复  风神高少


    2楼已改
flyinnet9 发表于 2015-11-26 17:23



    掩码和网关默认,仅输入IP。怎么改呢?




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