批处理怎样提取文本中每一行汉字内容并赋值给变量执行命令 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
则该命令无法找到相关设备。 展开
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
则该命令无法找到相关设备。 展开
展开全部
@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显示变量,都是空,所以最后没法执行。
所以我没办法认同你的答复啊。朋友。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询