批处理怎样提取文本中每一行汉字内容并赋值给变量执行命令 20

用WMICNIC提取生成了一个网卡清单文件net.txt:NetConnectionID本地连接(汉字后面9个空格)本地连接3(11前面1个空格,后面7个空格)本地连接7... 用WMIC NIC提取生成了一个网卡清单文件net.txt:
NetConnectionID
本地连接 (汉字后面9个空格)
本地连接 3 (11前面1个空格,后面7个空格)
本地连接 7 (11前面1个空格,后面7个空格)
本地连接 11 (11前面1个空格,后面6个空格)

目标:
用批处理或者脚本,从net.txt文件中,跳过第一行NetConnectionID ,从第二行读取网卡名称信息,但是需要把末尾的空格都滤掉。
将提取到的网卡名赋值到下列命令中
NETSH INTERFACE IP SET DNS "本地连接 7" STATIC 202.216.224.66

如果是提取整行
NETSH INTERFACE IP SET DNS "本地连接 7 " STATIC 202.216.224.66
则该命令无法找到相关设备。
展开
 我来答
albumin
2018-03-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2386万
展开全部
@echo off
setlocal enabledelayedexpansion
for /f "skip=1 tokens=*" %%a in (net.txt) do (
call :rtrip "%%~a"
netsh interface ip set dns "!line!" static 202.216.224.66
)
pause
exit /b
:rtrip
set "line=%~1"
if "%line:~-1%"==" " call :rtrip "%line:~,-1%"
追问
你有没有生成一个这样的中文内容文本文件,然后调试?你的环境是什么操作系统环境?
按你的脚本,测试,直接就没有到:rtrip字段。
如果net.txt里面是英文字段,批处理之前我自己写的就PASS过了。就是因为文本里面是中文字段,而且还带空格,所以我在中间添加echo显示变量,都是空,所以最后没法执行。
所以我没办法认同你的答复啊。朋友。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式