我使用此脚本设置了静态 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
。
这就是适配器名称末尾空白的来源。
为了消除空白,要么找到另一种方法来获取名称,要么参见帖子
如何删除批处理文件中用户输入的尾随和前导空格?