bat读取本机某张网卡的网关并将其设置为系统代理服务器并校验是否修改成功

title 自动设置代理服务器
@echo off
rem 此处无需指定分隔符,比如:delims=: ,因为制表符为默认分隔符,而:不是,如果指定:为分隔符,则制表符会被忽略,则提取的网关前面有一长串空格(制表符),需自行去空格处理。
for /f "skip=5 tokens=2" %%i  in ('netsh interface ip show address "无线网络连接 2"') do set "gateway=%%i" &goto :next
:next
echo 本机无线网关为:%gateway%
echo 正在设置代理服务器为%gateway% 请稍候...
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "%gateway%:18080" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "" /f
 
echo 正在刷新设置……
ipconfig /flushdns

    
echo 正在检测代理服务器是否已修改为%gateway% ,请稍候...
for /f "skip=2 tokens=3" %%i  in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer') do set "proxy=%%i" &goto :next
:next
echo 本机代理服务器为:%proxy%
if %proxy%==%gateway%:18080 (
echo 修改成功!修改后生效大约需要3-5秒时间
) else (
echo 修改失败!
echo 正在重新设置代理服务器为%gateway% 请稍候...
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "%gateway%:18080" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t REG_SZ /d "" /f
echo 正在刷新设置……
ipconfig /flushdns
)

::延时5秒后自动关闭窗口
ping -n 5 127.0.0.1 >nul
::pause>nul

 

posted @ 2022-10-04 00:13  IT情深  阅读(90)  评论(0编辑  收藏  举报