mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1042 字
3 分钟
使用批处理脚本一键切换 Windows 系统代理并设置例外网址
2026-04-20

在日常开发或网络调试中,我们经常需要快速开启或关闭 Windows 系统的 HTTP/HTTPS 代理,同时希望某些内网地址或特定域名不走代理(即代理例外)。手动修改注册表或 Internet 选项比较繁琐,本文提供一段批处理脚本,实现:

  • 一键检测当前代理状态(开启/关闭)
  • 自动切换代理状态(开启 → 关闭,关闭 → 开启)
  • 开启代理时自动写入代理服务器地址和例外网址列表
  • 关闭代理时可选择保留或清空例外列表

准备工作#

1. 获取你的代理服务器地址#

例如:

  • 127.0.0.1:7890(Clash / v2rayN 等本地代理客户端)
  • 192.168.1.100:8080(企业代理)

2. 确定需要排除(不走代理)的网址#

支持通配符 *,多个地址用分号 ; 隔开。常见排除示例:

text

localhost;127.0.0.1;<local>;*.example.com;10.*.*.*
  • <local> 表示所有内网地址(系统保留关键字)
  • *.example.com 匹配该域名下所有子域名

完整脚本代码#

将以下内容保存为 toggle_proxy.bat以 ANSI 编码保存(否则中文可能乱码)。

batch

@echo off
setlocal enabledelayedexpansion
:: ========== 请在这里修改你的配置 ==========
set "ProxyServerAddr=127.0.0.1:7890"
set "excludeSites=localhost;127.0.0.1;<local>;*.example.com"
:: =========================================
for /f "tokens=1,2,* " %%i in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable ^| find /i "ProxyEnable"') do (set /A ProxyEnableValue=%%k)
if %ProxyEnableValue% equ 0 (
echo 系统代理目前处于关闭状态,正在开启代理,请稍候...
echo=
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f >nul 2>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "%ProxyServerAddr%" /f >nul 2>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /d "%excludeSites%" /f >nul 2>nul
echo 系统代理已开启,代理地址:%ProxyServerAddr%
echo 例外网址:%excludeSites%
echo 请按任意键关闭本窗口...
) else if %ProxyEnableValue% equ 1 (
echo 系统代理目前处于开启状态,正在关闭代理,请稍候...
echo=
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f >nul 2>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "" /f >nul 2>nul
:: 下方命令可选:关闭代理时是否清空例外列表(默认不清空,如需清空请取消注释)
:: reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /d "" /f >nul 2>nul
echo 系统代理已关闭
echo 请按任意键退出本窗口...
)
pause >nul

使用方法#

1. 修改配置#

用记事本打开 toggle_proxy.bat,找到这两行并修改为你的实际值:

batch

set "ProxyServerAddr=127.0.0.1:7890"
set "excludeSites=localhost;127.0.0.1;<local>;*.example.com"

2. 以管理员身份运行(重要)#

右键点击 toggle_proxy.bat以管理员身份运行

因为脚本修改了 HKCU 下的注册表,虽然属于当前用户配置,但某些安全策略仍要求管理员权限。

3. 观察输出#

  • 若当前代理关闭 → 脚本会开启代理,并显示设置的代理地址和例外列表。
  • 若当前代理开启 → 脚本会关闭代理。

4. 验证#

打开 Internet 选项连接局域网设置,查看代理是否按预期修改。


进阶自定义#

1. 关闭代理时同时清空例外列表#

找到脚本中 else if %ProxyEnableValue% equ 1 分支,取消注释下面这行:

batch

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /d "" /f >nul 2>nul

2. 添加多个代理地址(不支持,Windows 原生只支持单一 HTTP 代理)#

若需要 PAC 脚本或更复杂规则,建议修改 ProxyServer 为 PAC 文件路径,或使用第三方工具。

3. 静默运行(不显示窗口)#

可将脚本扩展名改为 .vbs 并调用,或使用 start /min 运行 bat,但会失去交互反馈。


常见问题#

Q1:运行后提示“find /i “ProxyEnable””不是内部或外部命令?#

A:请检查是否在 Windows 环境下运行,不要使用 Linux/Mac 的终端。确保 find.exe 存在于 C:\Windows\System32

Q2:代理开启成功,但浏览器无法上网?#

A:

  • 确认代理客户端(如 Clash)正在运行且监听地址与 ProxyServerAddr 一致。
  • 检查例外列表中是否意外包含了目标网站(例如 *.google.com 被排除)。
  • 尝试清空 DNS 缓存:ipconfig /flushdns

Q3:排除网址中的 <local> 是什么?#

A:Windows 系统保留关键字,代表“所有绕过代理的 Intranet 地址”。通常包括 localhost127.0.0.1 以及 file:// 等。

Q4:修改注册表后需要重启应用吗?#

A:大多数程序(如 Chrome、Edge、系统 API)会监听注册表变化,立即生效。部分老旧程序可能需要重启。

Q5:如何查看当前代理设置而不运行脚本?#

A:命令行执行:

batch

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride

总结#

通过这个简单的批处理脚本,你可以:

  • ✅ 快速切换 Windows 系统代理状态
  • ✅ 开启代理时自动配置服务器地址和例外列表
  • ✅ 关闭代理时恢复干净网络环境
  • ✅ 无需打开繁杂的 Internet 选项界面

将脚本放在桌面或任务栏,双击即可切换,极大提升工作效率。


许可证:本文脚本遵循 MIT 协议,可自由修改和分发。
反馈:如有问题,欢迎在评论区留言讨论。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

使用批处理脚本一键切换 Windows 系统代理并设置例外网址
https://mblog.xian5.de5.net/posts/使用批处理脚本一键切换-windows-系统代理并设置例外网址/
作者
卓尔伤
发布于
2026-04-20
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

相关文章 智能推荐
1
Proxmox VE中Intel e1000e网卡硬件单元挂起问题终极解决方案
教程 本文详细介绍了Proxmox VE环境中Intel e1000e系列网卡(I218-LM、I219-V等)出现硬件单元挂起(Hardware Unit Hang)问题的完整解决方案。通过日志分析、问题定位、多种解决策略对比以及验证方法,帮助用户彻底解决网卡导致的系统崩溃问题。
2
Steam 手机令牌第三方验证器配置教程
教程 本教程指导如何使用 steamguard-cli 将 Steam 令牌迁移至 Bitwarden。首先需下载工具并移除官方验证器,在 PowerShell 中运行 setup 初始化并记录撤销代码;接着通过 QR 或文件提取 URI;最后导入 Bitwarden。注意:若 Bitwarden 显示 6 位数字,需将 URI 格式修改为 `steam://` 开头以兼容 Steam 的 5 位字母验证码。
3
[转载]最快的访问!使用Cloudflare+CDN节点优选+Workers重定向lucky的IPv4-STUN穿透HTTP请求
教程 为了实现内网IPv4的完美访问,之前的方案存在请求/重定向时间长和页面规则过少的痛点问题。新的方案采用Cloudflare的Workers和CDN优选,利用JavaScript脚本实现多个通配符匹配,优化首次请求的响应速度。方案包括配置Cloudflare、腾讯云DNS和lucky三个部分,通过Worker脚本和WebHook实现端口的动态更新,适用于支持302重定向的客户端。
4
我的服务器终于有“私人医生”了!基于CloudFlare零成本搭建XUGOU监控平台全记录
教程 作者作为一个NAS深度用户,之前依靠手动登录NAS查看资源占用和凭感觉来监控服务,导致出现了服务卡顿和容器日志塞爆磁盘等问题。因此,作者决定搭建一个集中监控室,要求能够监控NAS的系统指标和HTTP服务,具有良好的界面,免费且易于部署。经过多番寻找,在GitHub上发现了XUGOU项目,这是一个基于Cloudflare的开源监控平台,能够满足作者的所有需求。作者按照文档一步步部署XUGOU,整个过程大约花了一个小时,包括配置Cloudflare D1数据库、部署后端和前端、安装Agent等步骤。部署完成后,作者测试了XUGOU的功能,包括系统监控、HTTP监控和状态页面等,发现XUGOU能够实时展示监控数据,支持自定义请求和告警通知等。作者认为XUGOU是一个非常适合NAS玩家和个人用户的监控方案,能够
5
告别服务器,拥抱无服务器:我的 Cloudflare Workers 生态项目推荐与部署指南
教程 本文介绍了基于Cloudflare Workers和Pages的开源项目,包括NodeWarden、Rin Blog、CloudFlare-ImgBed、Cloudflare-Clist、flare-stack-blog和edgetunnel。这些项目提供了密码管理、博客、图床、代理和网络加速等功能,且全部开源且可一键部署。通过这些项目,开发者可以轻松构建自己的应用程序,享受Cloudflare全球边缘网络带来的高性能和低延迟。

目录