[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 设置固定IP的批处理脚本分享

  1. @echo off
  2. title 网络工具
  3. color 3E
  4. ::preset IP
  5. set Net_IP_Diy=192.168.1.1
  6. set Net_MASK=255.255.255.0
  7. set Net_gateway=192.168.1.1
  8. ::preset DNS
  9. set Net_dnsPra= 192.168.1.1
  10. set Net_dnsOrder= 192.168.1.2
  11. :: BatchGotAdmin
  12. :-------------------------------------
  13. REM --> Check for permissions
  14. >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
  15. REM --> If error flag set, we do not have admin.
  16. if '%errorlevel%' NEQ '0' (
  17. echo Requesting administrative privileges...
  18. goto UACPrompt
  19. ) else (
  20. goto gotAdmin
  21. )
  22. :UACPrompt
  23. echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
  24. echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
  25. "%temp%\getadmin.vbs"
  26. exit /B
  27. :gotAdmin
  28. if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
  29. pushd "%CD%"
  30. CD /D "%~dp0"
  31. :--------------------------------------
  32. :start
  33. echo.
  34. echo.
  35. echo.                                                           
  36. :Set_localTemp
  37. setlocal enabledelayedexpansion
  38. :Set_NetConnectionID
  39. rem 获取设置网络连接名称
  40. echo.
  41. echo                            选择网络连接名称                              
  42. echo.                              
  43. set "str=DefaultIPGateway^,IPAddress^,DNSServerSearchOrder^,IPSubnet^,DHCPEnabled"
  44. for /f "skip=1tokens=1*" %%i in ('wmic Nic where "Manufacturer<>'Microsoft' and NetConnectionStatus='2'" get Index^,NetConnectionID^') do (
  45.     for /f "tokens=1* delims=:" %%j in ("%%j") do (
  46.         set $%%i=%%j
  47.     echo.
  48.     echo 适配器_名_NName: %%j
  49.     set "NetConnectionName=%%j"
  50.     for /f "delims=" %%a in ('powershell "'%%j'.Trim()"') do set "NetConnectionName=%%a"
  51.         for /f "tokens=1-3delims={}," %%a in ('wmic Nicconfig where "Index='%%i'" get %str% /value') do (
  52.             for /f %%c in (%%c) do if /i "%%a" == "DNSServerSearchOrder=" set "DNS2=%%c"
  53.             for /f %%c in ("%%a%%~b") do set "%%c"
  54.         )
  55.         if /i "!DHCPEnabled!" == "TRUE" (
  56.           echo 适配器_IP_模式 : 自动
  57.         ) else echo 适配器_IP_模式 : 手动
  58.     IF not defined Net_IP set Net_IP=!IPAddress!
  59.     echo 适配器_IP_地址 : !IPAddress!        预置_IP_地址 : !Net_IP_Diy!
  60.     IF not defined Net_MASK set Net_MASK=!IPSubnet!
  61.     echo 适配器_子网掩码: !IPSubnet!       预置_子网掩码: !Net_MASK!
  62.     IF not defined Net_gateway set Net_gateway=!DefaultIPGateway!
  63.     echo 适配器_默认网关: !DefaultIPGateway!        预置_默认网关: !Net_gateway!
  64.     IF not defined Net_dnsPra set Net_dnsPra=!DNSServerSearchOrder!
  65.     echo 适配器_首选_DNS: !DNSServerSearchOrder!         预置_首选_DNS: !Net_dnsPra!
  66.     IF defined dns2 set Net_dns2=!DNS2! &echo 适配器_备用_DNS :!DNS2!        预置_备用_DNS: !Net_dns2!
  67.     )
  68. )
  69. echo.
  70. echo.
  71. echo                   请输入数字选择下一步操作  
  72. echo                          1:设置  IP
  73. echo                          2:清空  IP
  74. echo                          3:DNS固定
  75. echo                          4:DNS清空   
  76. echo =============           按0直接退出      =============
  77. set /P var=":"
  78. if %var%==1 goto ipstatic
  79. if %var%==2 goto ipdhcp
  80. if %var%==3 goto dnsstatic
  81. if %var%==4 goto dnsdhcp
  82. if %var%==0 exit
  83. echo 错误:非法输入!
  84. goto start
  85. :ipstatic
  86. echo "%NetConnectionName%"
  87. echo 设置IP...
  88. netsh interface ipv4 set address name="%NetConnectionName%" source=static %Net_IP_Diy% %net_MASK% %Net_gateway%
  89. ipconfig /flushdns
  90. echo **IP设置为%Net_IP_Diy%,子网掩码设置为%net_MASK%,默认网关设置为%Net_gateway%,设置成功**
  91. echo ------------------------------------------
  92. goto start
  93. :ipdhcp
  94. netsh interface ip set address name="%NetConnectionName%" source=dhcp
  95. ipconfig /flushdns
  96. echo **IP设置为DHCP获取,设置成功**
  97. echo ------------------------------------------
  98. goto start
  99. :dnsstatic
  100. echo 设置DNS...
  101. netsh interface ipv4 set dns name="%NetConnectionName%" static addr=%Net_dnsPra% register=PRIMARY
  102. netsh interface ipv4 add dns name="%NetConnectionName%" addr=%Net_dnsOrder% index=2
  103. ipconfig /flushdns
  104. echo **首选DNS设置为%Net_dnsPra%,备用DNS设置为%Net_dnsOrder%,设置成功**
  105. echo ------------------------------------------
  106. goto start
  107. :dnsdhcp
  108. echo 清除DNS...
  109. netsh interface ip delete dns "%NetConnectionName%" all
  110. ipconfig /flushdns
  111. echo **DNS设置为自动获取,设置成功**
  112. echo ------------------------------------------
  113. goto start
复制代码
IP地址哪里需要自行修改,其余的不需要在修改

回复 2# Batcher


    Windows10操作系统

TOP

返回列表