当前位置: 首页 > news >正文

Windows-系统自动切换IPv4地址

背景

笔记本往返于固定IPv4地址和自动获取IPv4地址的环境中,每次打开网卡配置修改IPv4地址实在是太过繁琐,因此使用 bat批处理命令 实现每次双击自动切换。

AutoChangeIPv4.bat

使用前需要将 ping 命令的目的地址修改为对应环境的网关。网卡的名称需要修改为当前电脑的网卡名称。


@echo offtitle IPv4配置
mode con cols=30 lines=15
::改变窗口大小
::color 3f
::改变窗口颜色:: 开始获取管理员权限
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"echo WScript.Quit >>"%temp%\%uac%.vbs""%temp%\%uac%.vbs" /fdel /f /q "%temp%\%uac%.vbs" & exit )
endlocal
:: 完成获取,下面可以开始写你自己的代码了::先将IP设置为自动获取
:ipDHCP
netsh interface ipv4 set address name="以太网" source=dhcp
netsh interface ipv4 set dnsservers name="以太网" source=dhcp
echo IP设置为自动获取
::ping结果保存
ping 10.10.42.3 > C:\ping.txt
::取丢失包的个数
for /f "skip=7 tokens=8 delims= " %%i in (C:\ping.txt) do (set str=%%~i
)
echo %str%
If %str%==0 (
goto end
) else if %str%==1 (
echo 1
goto end
) else if %str%==2 (
echo 2
goto end
) else if %str%==3 (
echo 3
goto end
) else (
echo IP配置错误,正在重新配置IP,请稍后... & goto ipLab
)
:ipLab
netsh interface ipv4 set address name="以太网" source=static address=172.31.32.90 mask=255.255.255.0 gateway=172.31.32.2
netsh interface ipv4 set dnsservers name="以太网" source=static address=114.114.114.114
echo 配置备用DNS
netsh interface ipv4 add dnsservers name="以太网" address=202.112.144.30
echo IP设置为172.31.32.90
goto end
:end
echo IP已经正确配置
del C:\ping.txt
Pause>Nul
http://www.hskmm.com/?act=detail&tid=84

相关文章:

  • 目录导航
  • sql嵌套查询
  • archlinux gnome48 顶部托盘选择
  • AT_agc014_f [AGC014F] Strange Sorting
  • JS常用函数
  • 第8章 STM32CUBE LCD配置和测试
  • git ssh key配置
  • Git的使用方法
  • 一个充气泵方案的主控芯片SIC8833
  • 83、快速制作身份证小方格
  • 微算法科技(NASDAQ: MLGO)采用量子相位估计(QPE)方法,增强量子神经网络训练
  • 数据库的逻辑外键与数据库的物理外键
  • 智能充气泵PCBA方案
  • DeepSeek文案短句:点燃创意火花
  • 如何通过Python SDK 统计Collection
  • 数字设计中的多级同步器(multi-stage synchronizer)
  • 小程序web-view全覆盖问题
  • conda安装虚拟环境或者包时候都一个常见问题--HTTP 000 CONNECTION FAILED(2)
  • debian11 nuitka 打包python3 脚本
  • C++容器内存安全实战:ASan注解逐步指南
  • iOS系统与Windows系统有什么区别?
  • qemu的外部快照原理
  • MySQL触发器
  • OSI 七层协议 和四层协议 TCP 三次握手的过程
  • nvm下载与安装(Windows)
  • 3. pod的生命周期
  • 2. pod基础原理
  • OSI 七层协议 和四层协议
  • 4. pod使用进阶
  • MySQL存储过程