Windows 电脑修改 IP 脚本 (适用于Windows7、Windows10)

时间:2024-02-19 11:53:55

前言:

1、有时候,总要在不同地方工作,就会总要切换 IP,内网比较严重,内网大多数都是静态 IP

2、局域网维护的时候,总是经常需要设置IP,配置IP入网等等

3、.......................................................................................

4、这个脚本就死为了实现这些个需求

 

需要把代码写进记事本,另存为 .bat 或 .cmd 后缀的文件

 

注:脚本经测试,在 Windows 7 、Windows 10 上均有效,代码写得烂,望多见谅!!

 ======================================== 代 码 请 按 需 修 改=============================================

=========================================== 代码 1.0 版本===============================================

@echo off

REM 这是一个自动修改 IP 脚本

echo ####温馨提示####
echo 1、输入序号,回车
echo 2、如果修改失败,请以管理员身份运行

echo    192.168.1.0====》请按 01
echo    192.168.2.0====》请按 02
echo    192.168.3.0====》请按 03
echo    自动获取=======》请按 04

set /p n=

if /i "%n%" equ "01" goto 01
if /i "%n%" equ "02" goto 02
if /i "%n%" equ "03" goto 03
if /i "%n"% equ "04" goto 04

REM    设置你要设置的IP
REM    确保你的IP是专属IP,即不能冲突
: 01
echo    您选择的是 01===》192.168.1.0/24 

echo ==============================
echo    正在设置,请稍后........
echo    正在判断 Windows版本

systeminfo | findstr "以太网" > nul

REM 系统是 Windows 10 时
if "%errorlevel%" == "0" netsh interface ipv4 set address name="以太网" source=static addr=192.168.1.254 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0 > nul 

REM 系统非 Windows 10 时
if "%errorlevel%" == "1" netsh interface ipv4 set address name="本地连接" source=static addr=192.168.1.254 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=0 > nul 
goto end 

:
02 echo 您选择的是 02===》192.168.2.0/24
echo    ==============================
echo    正在设置,请稍后........
echo    正在判断 Windows版本
systeminfo | findstr "以太网" > nul

REM 系统是 Windows 10 时
if "%errorlevel%" == "0" netsh interface ipv4 set address name="本地连接" source=static addr=192.168.2.254 mask=255.255.255.0 gateway=192.168.2.1 gwmetric=0 > nul 
 
REM 系统非 Windows 10 时
if "%errorlevel%" == "1" netsh interface ipv4 set address name="本地连接" source=static addr=192.168.2.254 mask=255.255.255.0 gateway=192.168.2.1 gwmetric=0 > nul 
goto end 

:
03
echo 您选择的是
03===》192.168.3.0/24
echo    ==============================
echo    正在设置,请稍后........
echo    正在判断 Windows版本
systeminfo | findstr "以太网" > nul
REM 系统是 Windows 10 时
if "%errorlevel%" == "0" netsh interface ipv4 set address name="以太网" source=static addr=192.168.3.254 mask=255.255.255.0 gateway=192.168.3.1 gwmetric=0 > nul 

REM 系统非 Windows 10 时
if "%errorlevel%" == "1" netsh interface ipv4 set address name="本地连接" source=static addr=192.168.3.254 mask=255.255.255.0 gateway=192.168.3.1 gwmetric=0 > nul 
goto end 

:
04
echo 您选择的是
04===》自动获取
echo    ==============================
echo    正在设置,请稍后........
echo    正在判断 Windows版本
systeminfo | findstr "以太网" > nul

REM 系统是 Windows 10 时

if "%errorlevel%" == "0" netsh interface ipv4 set address name="以太网" source=DHCP

REM 系统非 Windows 10 时
if "%errorlevel%" == "1" netsh interface ipv4 set address name="以太网" source=DHCP 
goto end 
@echo off
: end
echo ####设置成功####
echo ##本机配置如下##
ipconfig
/all | more
pause

 

=========================================== 代码 2.0 版本==============================================

@echo off
title Windows 电脑 IP 配置   @By MR.anyun
::: 此脚本在 1.0 基础上进行优化
::: 脚本在 Windows 7 、 Windows 10 上测试成功
::: 根据用户输入IP地址,按照IP规划进行配置网络信息
::: 此脚本在局域网维护中需求较高
:::
::: 判断权限

fltmc > nul && (
echo 已是管理员员权限,配置开始......
echo.
goto st
) || (
echo 系统权限不足,正在请求权限......
echo.
goto getUAC
)
:getUAC
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close^)&exit /b)
goto st
:st
::: 接受用户输入 IP 地址
set -p ip=请输入 IP 地址(X.X.X.X),并按回车:

::: 设置 IP 规划信息,写好 掩码、网关 信息;这里是以 IP 第三个参数为参考,可自行做调整
for /f "delims=. tokens=3" %%i in ("%ip%") do (
  REM IP 段 192.168.2.0-192.168.2.255
  if %%i equ 2 (set msk=255.255.255.0 & set gw=192.168.2.1)
  REM IP 段 192.168.3.0-192.168.5.255
  if %%i geq 3 (if %%i leq 5 set msk=255.255.252.0 & set gw=192.168.3.1)


::: 获取网卡信息,这里仅考虑有线连接,不考虑虚拟网卡,不考虑无线网卡
for /f "skip=2 tokens=4" %%j in (\'netsh interface show interface\') do (
if NOT "%%i" == "VMware" (if NOT "%%i" == "无线网络连接" set iname=%%j)
)


::: 网络信息配置
netsh interface ipv4 set address name=%iname% source=static addr=%ip%  mask=%msk% gateway=%gw% gwmetric=0 > nul
route ^-f > nul
route add -p 0.0.0.0 mask 0.0.0.0  %gw% > nul

::: 打印 配置信息 及网络检测
echo =============== 您的IP信息配置如下 ==============
echo.
echo IPv4 地址:%ip%
echo 子网 掩码:%msk%
echo 网关 地址:%gw%
echo.
echo ===============================================
echo.
::: 网络测试
echo 正常测试网络,请稍后...... ping %gw% | find /i "ttl" > nul && echo 恭喜,您与服务器之间通信正常 || echo 抱歉,您与服务器之间通信故障,请排查 echo.
pause