复制代码,保存为 dns.bat
,右键以管理员身份运行,按照提示选择即可。
这里提供一份现成的文件:
点击下载dns.bat
@echo off
setlocal enabledelayedexpansion
:: 检查是否以管理员权限运行
net session >nul 2>&1
if %errorlevel% neq 0 (
echo 请以管理员身份运行此脚本。
pause
exit
)
cls
echo 正在查找活动的网络接口...
echo.
:: 定义DNS数组
set "DNS1_Name=阿里云 DNS"
set "DNS1_IP1=223.5.5.5"
set "DNS1_IP2=223.6.6.6"
set "DNS2_Name=腾讯云 DNS"
set "DNS2_IP1=119.29.29.29"
set "DNS2_IP2=182.254.254.254"
set "DNS3_Name=网易163 DNS"
set "DNS3_IP1=114.114.114.114"
set "DNS3_IP2=114.114.115.115"
set "DNS4_Name=百度 DNS"
set "DNS4_IP1=180.76.76.76"
set "DNS4_IP2=114.114.114.114"
:: 获取所有活动的网络接口,并赋予序号
set count=1
for /f "tokens=3*" %%i in ('netsh interface show interface ^| findstr /C:"已连接"') do (
set "interface%count%=%%j"
echo [!count!] %%j
set /a count+=1
)
echo.
echo 请选择你要修改的网络接口序号:
set /p choiceInterface="输入序号: "
set interfaceName=!interface%choiceInterface%!
echo.
echo 选择的网络接口是: !interfaceName!
echo.
echo 请选择你想使用的 DNS 组别:
set /a DNSCount=1
:DNSMenu
if defined DNS%DNSCount%_Name (
echo [%DNSCount%] !DNS%DNSCount%_Name!
set /a DNSCount+=1
goto DNSMenu
)
echo.
set /p choiceDNS="请输入你的选择: "
echo.
if not defined DNS%choiceDNS%_Name (
echo 无效的输入,脚本将退出。
goto end
)
set DNSName=!DNS%choiceDNS%_Name!
set DNS_IP1=!DNS%choiceDNS%_IP1!
set DNS_IP2=!DNS%choiceDNS%_IP2!
echo 设置!DNSName!...
netsh interface ip set dns name="!interfaceName!" static !DNS_IP1!
netsh interface ip add dns name="!interfaceName!" !DNS_IP2! index=2
echo 已使用!DNSName!: !DNS_IP1!, !DNS_IP2!
:end
echo.
echo DNS 设置已更新。
pause