一个一键修改IP设置的BAT脚本
来源:互联网 发布:淘宝换类目 编辑:程序博客网 时间:2024/06/05 20:50
由于实验室的网络B类局域网固定IP,而寝室的是DHCP,做实验的时候还需要使用C类局域网固定IP。各种网络之间切换有些麻烦。因此在网上搜了一下BAT语言设定网卡的操作,希望能编写一个快捷修改网络设置的脚本。
这个脚本很多代码和技术参考了网友 D-小苏 的源码,在这里表示感谢!
::Author:Tony Chang ::2015.12.20::Thanks D-小苏@echo offset Net_IP_Diy=10.10.40.53set Net_MASK=255.255.252.0set Net_gateway=10.10.40.1set Net_dnsPra=123.125.81.6set Net_dnsOrder=210.2.4.8title 一键切换IP地址:: 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 ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )pushd "%CD%"CD /D "%~dp0":-------------------------------------- :startecho *********************快速修改本地IP地址**********************ping -n 1 127.1 >nul:Set_localTempsetlocal enabledelayedexpansion:Set_NetConnectionIDrem 获取设置网络连接名称clsecho.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! Net_IP_地址 : !Net_IP!IF not defined Net_MASK set Net_MASK=!IPSubnet! Rem 判断是否存在值,以解决之后Net_MASK赋值为空的情况,保证Net_MASK存在值echo 适配器_子网掩码: !IPSubnet! Net_子网掩码: !Net_MASK!IF not defined Net_gateway set Net_gateway=!DefaultIPGateway! echo 适配器_默认网关: !DefaultIPGateway! Net_默认网关: !Net_gateway!IF not defined Net_dnsPra set Net_dnsPra=!DNSServerSearchOrder!echo 适配器_首选_DNS: !DNSServerSearchOrder! Net_首选_DNS: !Net_dnsPra! IF defined dns2 set Net_dns2=!DNS2! &echo 适配器_配用_DNS :!DNS2! Net_配用_DNS: !Net_dns2! ))echo. echo ============请输入数字选择下一步操作:============echo ============1:ip设置为%Net_IP_Diy% =============echo ============2:设置为DHCP自动获取ip =============echo ============ 按Q直接退出 =============set /P var=":"if %var%==1 goto ip10if %var%==2 goto ipdhcpif %var%==q exitecho 输入的选择超出范围...ping -n 3 127.1>nul goto start:ip10echo %NetConnectionName%echo 设置IP...netsh interface ipv4 set address name=%NetConnectionName% source=static %Net_IP_Diy% %net_MASK% %Net_gateway%echo 设置DNS...netsh interface ipv4 set dns name=%NetConnectionName% static addr=%Net_dnsPra% register=PRIMARYnetsh interface ipv4 add dns name=%NetConnectionName% addr=%Net_dnsOrder% index=2echo **IP设置为%Net_IP_Diy%,设置成功**echo ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^echo ------------------------------------------ping -n 1 127.1>nul goto start:ipdhcpnetsh interface ip set address name=%NetConnectionName% source=dhcpnetsh interface ip delete dns %NetConnectionName% allipconfig /flushdnsecho **IP设置为DHCP获取,设置成功**echo ------------------------------------------ping -n 1 127.1>nul goto start
代码设置了一个固定IP和一个DHCP,在脚本开始时请求了管理员权限,只设置当前活动网卡。
运行结果:
1 0
- 一个一键修改IP设置的BAT脚本
- bat脚本设置IP
- 一键设置网络IP地址的bat批处理
- 用bat脚本设置IP
- BAT脚本设置IP DNS
- 设置IP和代理的Windows Bat脚本
- 设置IP和代理,dns的Windows Bat脚本
- 设置wlan 和以太网 ip 的bat 脚本
- 一键配置ip以及快速切换配置的BAT脚本
- 批处理脚本bat设置IP地址
- 修改IP的BAT命令
- Dos:修改IP地址的bat脚本文件,在不同局域网切换IP地址
- Dos下修改IP地址的bat脚本文件,在不同局域网切换IP地址
- 修改IP的脚本
- 使用bat批处理脚本自动设置IP和IE代理
- 做一个自动修改本机IP和mac的bat文件
- 使用脚本自动修改ip设置
- 修改ip地址bat
- maven导出项目依赖的jar包
- 学习:Canvas基本用法
- 服务器上有很多/usr/bin/script xxx.log的解决办法
- Java 抽象类经典例子2
- 13.jQuery中如何把一个外部json文件中的数据读入到js代码中?
- 一个一键修改IP设置的BAT脚本
- opencv 无法打开摄像头
- 报错The type javax.servlet.http.HttpServletRequest cannot be resolved.
- eclipse 中tomcat工程的server.xml改为80 端口报异常端口被占用
- sudo: /etc/sudoers is mode 0640, should be 0440解决办法
- 使用XAMPP搭建环境安装Discuz
- QQ浏览器X5内核问题汇总
- JEECMS v8 发布,java 开源 CMS 系统
- FileInfo和DirectoryInfo