快速切换 本地电脑IP
快速切换 本地电脑IP.BAT
配合
💡注意:请根据你的网络环境,把
set adapter="以太网"
中的"以太网"
改成你电脑的实际网络适配器名称(可以用ipconfig
看名称)。例如 Wi-Fi 用户通常是"Wi-Fi"
。
PS C:\Users\789cn> ipconfig
Windows IP 配置
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . : lan
IPv6 地址 . . . . . . . . . . . . : 2408:8244:9999:e1c:9999:9999:9999:9999
临时 IPv6 地址. . . . . . . . . . : 2408:8244:9999:e1c:9999:9999:9999:9999
本地链接 IPv6 地址. . . . . . . . : 9999::9999:9999:9999:99999999
IPv4 地址 . . . . . . . . . . . . : 10.0.0.10
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 9999::9999:9999:9999:9999
10.0.0.1
墙国模式IPV4.bat
@echo off
:: 自动提权
net session >nul 2>&1
if %errorLevel% NEQ 0 (
echo 当前未以管理员身份运行,正在重新启动...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)
set adapter=以太网
echo 正在设置静态 IP 地址...
netsh interface ipv4 set address name="%adapter%" static 10.0.0.211 255.255.255.0 10.0.0.1
echo 正在设置首选 DNS...
netsh interface ipv4 set dnsservers name="%adapter%" static 10.0.0.1 validate=no
:: 由于首选和备用相同,这里不再设置备用
echo 无需设置备用 DNS。
echo 配置完成。
pause
冲浪模式IPV4.bat
@echo off
:: 检查是否以管理员身份运行
net session >nul 2>&1
if %errorLevel% NEQ 0 (
echo 需要以管理员身份运行。正在尝试自动重新启动...
powershell -Command "Start-Process '%~f0' -Verb RunAs"
exit /b
)
set adapter="以太网"
echo 正在恢复为自动获取 IP 和 DNS...
netsh interface ip set address name=%adapter% source=dhcp
netsh interface ip set dns name=%adapter% source=dhcp
echo 恢复完成。
pause
💡编码保存为GB18030
🧠 为什么要用 GB18030 编码保存批处理文件?
✅ 原因一:Windows CMD 使用的是系统默认的 ANSI 编码
- 在中国大陆地区的 Windows 系统中,默认的本地代码页是 GBK(936)或 GB18030。
- 如果你用 UTF-8 编写
.bat
文件,而没有 BOM(Byte Order Mark),CMD 会当作 ANSI 打开,但无法正确解析 UTF-8 的中文内容,结果就是乱码。 - 如果你用带 BOM 的 UTF-8,CMD 反而会把 BOM 当作命令行字符,导致脚本运行异常。
✅ 原因二:CMD 本身并不支持 UTF-8 显示中文(除非你手动更改代码页)
- CMD 默认不支持 UTF-8 输出中文,除非你运行
chcp 65001
,但这会引起其他兼容性问题(如某些程序输出乱码、某些字符显示不完整)。
💡 常见编码对比说明:
编码格式 | CMD 默认支持 | 中文显示 | 推荐用在 .bat |
---|---|---|---|
UTF-8 无 BOM | ❌ | ❌乱码 | 否(会乱码) |
UTF-8 带 BOM | ❌ | ❌乱码/异常 | 否(首行可能不执行) |
GB18030 / GBK | ✅ | ✅正常 | ✅ 推荐 |
UTF-16 LE | ❌ | ❌乱码 | 否 |
License:
CC BY 4.0