批量设置静态 DNS 地址不起作用

批量设置静态 DNS 地址不起作用

我使用此脚本设置了静态 DNS 地址,但徒劳无功。错误截图已附上。网络适配器是“以太网 4”,但脚本显示为“以太网 4”??

Echo Check Net Connection Adapter Name
del /f /q %~dp0DHMCNetAdapter.txt>nul

wmic.exe nic where "NetConnectionStatus=2" get NetConnectionID |more 
+1>%~dp0DHMCNetAdapter.txt
REM Read the first line of a text file
set /p adapter=<%~dp0DHMCNetAdapter.txt

REM Setting Static DNS IP
set statdns=10.13.253.196
set statdns2=10.13.30.66

echo Active Network : %adapter%
Pause

rem Primary DNS Setting
netsh interface ip add dns %adapter% addr=%statdns%

rem Secondary DNS Setting
netsh interface ip add dns %adapter% addr=%statdns2%

REM Display Result of Changes
netsh interface ip show config "%adapter%"
Pause

@exit /b

错误

答案1

我测试过:

wmic.exe nic where "NetConnectionStatus=2" get NetConnectionID > file.txt

我发现wmic用空白填充所有值,显然达到了字段的最大尺寸NetConnectionID

这就是适配器名称末尾空白的来源。

为了消除空白,要么找到另一种方法来获取名称,要么参见帖子
如何删除批处理文件中用户输入的尾随和前导空格?

相关内容