[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 【已解决】批处理或者判断的问题

本帖最后由 wh123wh123 于 2021-2-25 01:25 编辑
  1. @echo off
  2. for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "DHCP Server"') do set WG=%%i
  3. echo DNS 服务器为: %WG%
  4. pause
复制代码
上面这个代码只能在XP老式电脑上正常获取到(因为 ipconfig /all 返回的是英文内容),但是在新的电脑上却不能正常显示(因为返回的dos窗口内容是中文),如何把这个代码修正为可以通用的那种,也就是  "DHCP Server"or"DNS 服务器"
不知道能不能理解我的意思。

回复  wh123wh123


第一行下面加一行:
chcp 437
试试可以吗
Batcher 发表于 2021-2-18 15:38


@echo off
chcp 437
...
变成乱码啦

TOP

使用findstr的多个/c参数
cutebe 发表于 2021-2-18 16:30


下面代码有效果。
c:"DNS Server" /c:"DNS 服务器"  这2个是或者关系还是啥意思?
set DNS=%DNS: =%  这行必须有吗?去掉行不行?这行是啥含义?

TOP

回复 2# Batcher

@echo off
chcp 437>nul
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "DHCP Server"') do set gateway=%%i
chcp 936>nul
echo 当前网关:%gateway%
用这样的笨办法也行,但是回显这行  echo 当前网关:%gateway%  前面会有一个黑色遮挡了 不知道是咋回事?

TOP

回复 7# Batcher

感谢版主和上面老师的帮助解答,祝福各位老师新春快乐、万事如意,祝福论坛越办越好!
set DNS=%DNS: =%  这行必须有吗?去掉行不行?这行是啥含义?

TOP

回复 9# cutebe

明白了,感谢老师们的解答。

TOP

返回列表