复制代码,保存为 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
最后修改:2024 年 07 月 25 日
如果觉得我的文章对你有用,请随意赞赏