Overview

本批处理脚本适用于Windows自动更改本地连接/以太网等的IP和DNS设置
可以很方便地用于同一计算机在不同网络下(如公司、学校、家里等)切换IP
具体IP及DNS设置可在bat文件中自行预设
代码的主体部分主要参考了[1],并在此基础上进行了修改和优化

Batch File

::Author:Tony Chang
::2015.12.20
::Thanks D-小苏
::Mender:Alex Pan
::2018.08.26@echo off::preset IP
set Net_IP_Diy=172.16.38.20
set Net_MASK=255.255.255.0
set Net_gateway=172.16.38.1::preset DNS
set Net_dnsPra=61.128.192.68
set Net_dnsOrder=61.128.192.97title 一键切换IP地址及DNS:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else (
goto gotAdmin
):UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"
exit /B:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:-------------------------------------- :startecho.
echo.
echo *********************快速修改本地IP地址*********************
:Set_localTemp
setlocal enabledelayedexpansion:Set_NetConnectionID
rem 获取设置网络连接名称
echo.
echo **********************选择网络连接名称**********************
echo.
set "str=DefaultIPGateway^,IPAddress^,DNSServerSearchOrder^,IPSubnet^,DHCPEnabled"
for /f "skip=1tokens=1*" %%i in ('wmic Nic where "Manufacturer<>'Microsoft' and NetConnectionStatus='2'" get Index^,NetConnectionID^') do (for /f "tokens=1* delims=:" %%j in ("%%j") do (set $%%i=%%jecho.echo 适配器_名_NName: %%jset "NetConnectionName=%%j"for /f "tokens=1-3delims={}," %%a in ('wmic Nicconfig where "Index='%%i'" get %str% /value') do (for /f %%c in (%%c) do if /i "%%a" == "DNSServerSearchOrder=" set "DNS2=%%c"for /f %%c in ("%%a%%~b") do set "%%c")if /i "!DHCPEnabled!" == "TRUE" (echo 适配器_IP_模式 : 自动) else echo 适配器_IP_模式 : 手动 IF not defined Net_IP set Net_IP=!IPAddress! echo 适配器_IP_地址 : !IPAddress!        预置_IP_地址 : !Net_IP_Diy!IF not defined Net_MASK set Net_MASK=!IPSubnet!echo 适配器_子网掩码: !IPSubnet!       预置_子网掩码: !Net_MASK!IF not defined Net_gateway set Net_gateway=!DefaultIPGateway!echo 适配器_默认网关: !DefaultIPGateway!       预置_默认网关: !Net_gateway!IF not defined Net_dnsPra set Net_dnsPra=!DNSServerSearchOrder!echo 适配器_首选_DNS: !DNSServerSearchOrder!     预置_首选_DNS: !Net_dnsPra!IF defined dns2 set Net_dns2=!DNS2! &echo 适配器_备用_DNS :!DNS2!        预置_备用_DNS: !Net_dns2!)
)
echo.echo.
echo ============请输入数字选择下一步操作:============
echo ============1:设置IP为%Net_IP_Diy% =============
echo ============2:设置IP为DHCP自动获取 =============
echo ============3:设置DNS为预置dns     =============
echo ============4:设置DNS为自动获取    =============
echo ============       按Q直接退出      =============
set /P var=":"
if %var%==1 goto ipstatic
if %var%==2 goto ipdhcp
if %var%==3 goto dnsstatic
if %var%==4 goto dnsdhcp
if %var%==q exit
echo 错误:非法输入!
goto start:ipstatic
echo %NetConnectionName%
echo 设置IP...
netsh interface ipv4 set address name=%NetConnectionName% source=static %Net_IP_Diy% %net_MASK% %Net_gateway%
ipconfig /flushdns
echo **IP设置为%Net_IP_Diy%,子网掩码设置为%net_MASK%,默认网关设置为%Net_gateway%,设置成功**
echo ------------------------------------------
goto start:ipdhcp
netsh interface ip set address name=%NetConnectionName% source=dhcp
ipconfig /flushdns
echo **IP设置为DHCP获取,设置成功**
echo ------------------------------------------
goto start:dnsstatic
echo 设置DNS...
netsh interface ipv4 set dns name=%NetConnectionName% static addr=%Net_dnsPra% register=PRIMARY
netsh interface ipv4 add dns name=%NetConnectionName% addr=%Net_dnsOrder% index=2
ipconfig /flushdns
echo **首选DNS设置为%Net_dnsPra%,备用DNS设置为%Net_dnsOrder%,设置成功**
echo ------------------------------------------
goto start:dnsdhcp
echo 清除DNS...
netsh interface ip delete dns %NetConnectionName% all
ipconfig /flushdns
echo **DNS设置为自动获取,设置成功**
echo ------------------------------------------
goto start

修改预设IP&DNS后,保存为.bat文件即可使用,根据提示进行操作

希望能够对大家有所帮助~


Reference

[1] 一个一键修改IP设置的BAT脚本——Safe_Point

【Windows】一键自动设置IP及DNS的批处理脚本相关推荐

  1. windows命令行设置IP与DNS

    平时我们改IP通常都在是窗口界面本地连接直接修改, 那在命令行也可以设置IP地址?当然可以,这里要用到netsh命令(net shell) 点击"开始"->"运行& ...

  2. Python 技术篇-设置windows开机自动启用Jupyter服务,BAT批处理脚本启用jupyter服务设置,设置jupyter默认启动位置的方法

    把下面的代码存储为 bat 结尾的批处理脚本. @echo off jupyter notebook 放到存放 python 项目的位置,在这里启动服务,默认进的就是这个目录. 然后给 bat 脚本创 ...

  3. bat文件设置dns服务器,.bat文件设置IP、DNS

    这几天遇到个烦心事,每次开机之后都要去手动去设置一下IP地址,一大串的数字还是有点麻烦,于是就想写个批处理文件设置IP 注意:在DOS下设置IP时需要管理员权限运行 1.查看机子设置IP需要用到的名字 ...

  4. 一键修改分辨率bat_BAT批量处理一键修改设置IP(亲测有效)

    由于家里宽带是路由器自动拨号,本地链接要设为自动获取IP和DNS:而学校局域网则需要手动设置IP和DNS,我带着笔记本来回跑,需要经常切换IP,虽然设置IP很简单只需在本地连接的属性中输入一串数字即可 ...

  5. bat文件设置dns服务器,.bat文件设置IP、DNS(示例代码)

    这几天遇到个烦心事,每次开机之后都要去手动去设置一下IP地址,一大串的数字还是有点麻烦,于是就想写个批处理文件设置IP 注意:在DOS下设置IP和DNS时需要管理员权限运行 1.查看机子设置IP需要用 ...

  6. 自动设置IP地址的BAT

    新建一个TXT文件将下面的代码复制 粘贴 保存,然后将文件后缀改为.bat @echo off cls mode con cols=40 lines=30 color 2F title 自动设置IP地 ...

  7. Windows无法自动将IP协议堆栈绑定到网络适配器

    环境: Win10 专业版 问题描述: 正常重启后突然出现有线网络和无线网卡都无法获取ip地址,属性ipv4和ipv6都是未连接数据包,卸载网卡驱动重置网卡都不能解决,系统自带的网络诊断提示" ...

  8. 解决:Windows无法自动将IP协议堆栈绑定到网络适配器问题(表现形式:电脑突然无法连接互联网,且只剩飞行模式)

    解决:"Windows无法自动将IP协议堆栈绑定到网络适配器问题"(表现形式:电脑突然无法连接互联网,且只剩飞行模式) 一·问题描述: 1.电脑突然断网,导致如图所示问题 2.wi ...

  9. Windows无法自动将IP协议堆栈绑定到网络适配器(win10解决方法)

    昨晚看着看着下载好的视频突然卡了看不了,后来也没留意,转去浏览器看剩下的视频,看完想关机的时候发现没反应,按window键也没反应,最后是通过Ctrl+Alt+Del关机的.今天开机之后发现,只显示一 ...

最新文章

  1. C++ 对象的内存布局(上)
  2. 互联网与CTI技术结合之商业应用
  3. 知识图谱(知识图谱构建)
  4. 服务稳定性及应用防护方案
  5. 3种时间格式化的方法,SpringBoot篇!
  6. 【WP主题】仿下载吧全开源无加密wordpress主题模板内含newzhan2.60无授权版本
  7. 【hadoop】hadoop 安装 kerberos
  8. vivado基本知识
  9. 加州大学戴维斯计算机博士生,加州大学戴维斯分校计算机排名及研究生申请条件是什么...
  10. 被Z世代称为B站张子枫,她有一种天然的治愈力。
  11. 从神经搜索到多模态应用
  12. 透明壁纸android,主题透明壁纸软件下载-主题透明壁纸 安卓版v1.0-PC6安卓网
  13. 佐治亚理工计算机考研,美国佐治亚理工大学研究生专业排名多少?
  14. Springboot列车调度信息系统的设计与实现4guf9计算机毕业设计-课程设计-期末作业-毕设程序代做
  15. 小冰与小娜:命运交叉的美少女AI
  16. 如何从零开始制作一款日式AVG游戏
  17. 2. 彤哥说netty系列之IO的五种模型
  18. SQL Server 修改数据库名、修改逻辑文件名、修改数据库物理文件名
  19. Silverlight的未来【转于博客园】
  20. java中八进制常量是什么意思_Java 负的十六进制与八进制字面常量

热门文章

  1. oracle rman恢复表空间,rman备份恢复表空间
  2. 浏览器大战再起,谁将夺取企业市场第一把交椅?
  3. cadence 常见pcb电阻_利用Cadence PCB SI分析特性阻抗变化因素
  4. python3.5+selenium3.4自动化测试9_selenium框架2.0-unittest(上)
  5. Cannot open channel to 2 at election address zj03/192.168.8.132:3888
  6. Java反弹球两球相撞_java实现小球碰撞反弹
  7. 学校机房中计算机软件安装,高校计算机教学机房软件安装与维护
  8. android设备显示电脑内容,安卓手机怎样用电脑查看记事本内容
  9. Linux aarch64交叉编译之 assimp模型库
  10. JDK的安装与环境变量的配置教程