Windows通过使用批处理.bat脚本文件修改DNS值

发布时间 2023-05-31 17:41:42作者: Crazy_Joker

在公司内网有自己的DNS服务器,但是在使用某些软件时又经常需要特定的DNS地址,每次切换都非常麻烦,所以写了个.bat批处理脚本文件方便切换,如果是修改IP等信息做些修改后同样可以使用。

@echo off

:start
echo 1:设置DNS为手动 2:设置DNS为自动
set /p var=请选择
if %var%==1 goto opt1
if %var%==2 goto opt2

:opt1
cls

echo 设置主DNS 114.114.114.114
netsh interface ip set dns name="WLAN" static 114.114.114.114 >nul
echo 设置副DNS 8.8.8.8
netsh interface ip add dns name="WLAN" 8.8.8.8 2 >nul
ipconfig /flushdns

echo 完成
goto start

:opt2
cls

echo 设置DNS自动获取
netsh interface ip set dnsservers "WLAN" source=dhcp
ipconfig /flushdns

echo 完成
goto start

对于set命令简单说几句,set用于显示、设置或删除 cmd.exe 环境变量,使用格式如下:

SET [variable=[string]]

variable 指定环境变量名。

string 指定要指派给变量的一系列字符串。

在 SET 命令中添加了两个新命令行开关:

SET /A expression
SET /P variable=[promptString]

/A 指定等号右边的字符串为被评估的数字表达式。

/P 将用户的输入赋值给变量

提示用户输入一个数字,返回该数字的平方值。

@echo off
set /p num=请输入一个数字:
set /a p=%num%*%num%
echo %num%*%num%=%p%
pause

PS:“WLAN” 需要根据电脑网卡的实际名称进行设置

PS:脚本编码格式需要注意,使用ANSI或GBK,根据cmd.exe编码确定,避免编码问题导致脚本不能正确执行。

PS:运行脚本时最好使用管理员权限运行,避免因为权限问题导致脚本执行无效。