引言

在网络使用过程中,我们可能会遇到需要在局域网和公网之间切换IP地址的场景。手动修改网络配置不仅繁琐,还容易出错。为了解决这一问题,我们可以通过编写一个批处理文件来自动化这一过程。本文将带你轻松掌握如何创建一个批处理文件,实现一键切换局域网与公网IP地址。

准备工作

在开始之前,请确保你具备以下准备工作:

  1. 一台可以正常访问网络的电脑。
  2. 记录好局域网和公网的IP地址、子网掩码以及默认网关等信息。
  3. 打开记事本或其他文本编辑器。

编写批处理文件

以下是一个简单的批处理文件示例,它可以根据预设的局域网和公网配置自动更改电脑的IP设置。

@echo off
setlocal enabledelayedexpansion

:: 设置变量
set "LOCAL_IP=192.168.1.100"
set "LOCAL_SUBNET=255.255.255.0"
set "LOCAL_GATEWAY=192.168.1.1"

set "PUBLIC_IP=123.45.67.89"
set "PUBLIC_SUBNET=255.255.255.0"
set "PUBLIC_GATEWAY=123.45.67.1"

:: 检查参数
if "%~1"=="public" (
    echo 切换到公网配置...
    echo 网络接口配置为: %PUBLIC_IP% %PUBLIC_SUBNET% %PUBLIC_GATEWAY%
    netsh interface ip set address "以太网" static %PUBLIC_IP% %PUBLIC_SUBNET% %PUBLIC_GATEWAY%
    netsh interface ip add dns "以太网" 8.8.8.8
    netsh interface ip add dns "以太网" 8.8.4.4 index=2
) else if "%~1"=="local" (
    echo 切换到局域网配置...
    echo 网络接口配置为: %LOCAL_IP% %LOCAL_SUBNET% %LOCAL_GATEWAY%
    netsh interface ip set address "以太网" static %LOCAL_IP% %LOCAL_SUBNET% %LOCAL_GATEWAY%
    netsh interface ip add dns "以太网" 8.8.8.8
    netsh interface ip add dns "以太网" 8.8.4.4 index=2
) else (
    echo 无效的参数,请使用 'public' 或 'local'。
)

endlocal

使用批处理文件

  1. 将上述代码复制到记事本或其他文本编辑器中。
  2. 保存文件,并命名为 SwitchIP.bat
  3. 在保存时,选择“所有文件”类型,这样文件就不会自动保存为.txt
  4. 在批处理文件上右键点击,选择“以管理员身份运行”以允许文件进行系统级别的更改。

参数说明

  • %~1 是批处理文件的第一个参数,你可以将其设置为 publiclocal 来选择网络配置。
  • netsh interface ip set address 用于设置静态IP地址。
  • netsh interface ip add dns 用于添加DNS服务器。

结语

通过编写这个简单的批处理文件,你可以在需要时轻松切换电脑的网络配置。这种方法不仅节省了时间,还减少了出错的可能性。希望本文能帮助你更高效地管理网络设置。