DOS批处理自动配置网卡静态IP和恢复DHCP

背景

现在有这么一个情景,张三在某学校任教,每天都需要在不同的教室上课,学校全网使用的是static静态IP,而且每个区域的网段还不一样,每次都要对网卡进行静态IP的配置,而且配置完成之后,回到自己家里还要调回DHCP自动获取,每天频繁的操作静态IP,非常繁琐,而且还容易配置错误,希望有这么一个工具,能够根据不同的教室对应配置不同的静态IP,有些时候还需要配置特定的静态主机IP,最后还能提供恢复网卡DHCP的功能。

需求分析

根据背景需求,我们可以得出此工具需要实现以下功能需求:

  1. 根据不同教室的网段,配置网卡的静态IP,且主机位是随机的;
  2. 根据不同教室的网段,配置网卡的静态IP,且主机位是固定的;
  3. 能恢复网卡的DHCP
  4. 兼容Win7和Win10

代码实现

@echo off

setlocal enabledelayedexpansion

:: 选择功能
:choose
echo 请输入数字,选择您需要的功能,按回车键执行
echo 【0】恢复网卡DHCP
echo 【1】设置网卡 固定 主机位的静态IP
echo 【2】设置网卡 随机 主机位的静态IP

echo.

set /p a=请选择:

if %a%==0 goto restore_ip

if %a%==1 set host=252

if %a%==2 set /a host=1+%random% %% 101

goto choose_classroom

goto:eof

:: 选择教室,不同的教室对应不同的网段和网关
:choose_classroom
for /f "delims=.[ tokens=2" %%a in ('ver') do (set OS=%%a)
set OSVER1=%OS:~-2%
set OSVER=%OSVER1: =%
if "%OSVER%" == "6" set int_name="本地连接"
if "%OSVER%" == "10" set int_name="以太网"

echo 请输入教室编号代码
echo [ 1 ] 1号楼
echo [ 2 ] 2号楼
echo [ 3 ] 3号楼
echo [ 4 ] 4号楼
echo [ 5 ] 5号楼

echo.

set /p tmp=请选择:

if %tmp%==1 call:set_ip %int_name% 172.16.1.%host% 172.16.1.254
if %tmp%==2 call:set_ip %int_name% 172.16.2.%host% 172.16.2.254
if %tmp%==3 call:set_ip %int_name% 172.16.3.%host% 172.16.3.254
if %tmp%==4 call:set_ip %int_name% 172.16.4.%host% 172.16.4.254
if %tmp%==5 call:set_ip %int_name% 192.168.1.%host% 192.168.1.254
goto:eof


:: 设置ip和dns
:set_ip
netsh interface ip set address %1 static %2 255.255.255.0 %3
netsh interface ip set dns %1 static 223.5.5.5
netsh interface ip add dns %1 addr=223.6.6.6 index=2
echo 静态IP配置完成,您的IP为%2
ping www.qq.com
pause
goto:eof

:: 恢复网卡DHCP
:restore_ip
for /f "delims=.[ tokens=2" %%a in ('ver') do (set OS=%%a)
set OSVER1=%OS:~-2%
set OSVER=%OSVER1: =%
if "%OSVER%" == "6" set int_name="本地连接"
if "%OSVER%" == "10" set int_name="以太网"

netsh interface ip set address "%int_name%" dhcp
netsh interface ip set dns "%int_name%" dhcp
echo 已为您的网卡恢复为DHCP自动获取IP地址
pause
goto:eof

将上述代码段保存为【工具.bat】,就可以直接使用了,修改网卡信息需要管理员权限,所以每次使用时,需要以管理员身份运行工具。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值