dos批处理问题:怎样从一个文本文档中提取一个数值作为变量?

我想要的其实就是ipconfig这里网关地址,把它拿出来作为新的变量使用以下是我的ip.txt文件内容:WindowsIP配置以太网适配器本地连接:连接特定的DNS后缀.... 我想要的其实就是ipconfig这里网关地址,把它拿出来作为新的变量使用
以下是我的ip.txt文件内容:
Windows IP 配置

以太网适配器 本地连接:

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::d4da:cc35:6103:e766%11
IPv4 地址 . . . . . . . . . . . . : 192.168.1.101
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.1.210

我这已经写了一个批处理是获取自己的网关地址
@echo off
ipconfig/all |find "默认网关" >tmp.txt
FOR /F "tokens=15 delims= " %%i in (tmp.txt) do echo %%i
pause
del tmp.txt
我这样提取还要生成一个tmp.txt文件,好麻烦
怎样才能精确的定位到每一行每一列呢?
请各位大侠帮帮忙,把192.168.1.210给我抓出来
最好再给我一个直接在注册表里获取网关值的例子
我改动了一下
for /f "skip=10 tokens=1-3 delims=关,:" %%a in ('ipconfig') do echo %%c
得到如下结果
192.168.1.210
前面有个空格,怎么去掉?如果我想要中间的255.255.255.0怎么办?
展开
 我来答
ffihy
2012-01-02 · TA获得超过133个赞
知道答主
回答量:118
采纳率:0%
帮助的人:82.4万
展开全部
@echo off
for /f "delims=: tokens=2" %%i in ('ipconfig ^| findstr 默认网关') do set var=%%i
set var=%var: =%
echo %var%

看满足你的需求吗?
追问
set var=%var: =%
echo %var%
这句是去空格的吧?能在多说一点吗
变量加“:”再加“=” 是什么意思?还有其他格式的功能吧,怎么查看这些功能
假如19 2. 16 8 .1.2 10 中间的空格也能去掉吧?
谢谢
我刚才看了一下set的说明
“ %PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。”
有点思路了,不过我那些空格能去掉吧?
追答
嗯   你说的%var:~1,2% 这个是截取字符
像这样的%var: =% 是替换字符
比如 var=123
%var:123=abc% 这样就把123替换成abc了
TableDI
2024-07-18 广告
在上海悉息信息科技有限公司,我们深知Excel在数据处理中的重要作用。在Excel中引用不同工作表(sheet)的数据是常见的操作,这有助于整合和分析跨多个工作表的信息。通过在工作表名称前加上感叹号“!”,您可以轻松地引用其他工作表中的数据... 点击进入详情页
本回答由TableDI提供
yyykkkyyyy
2012-01-02 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3266万
展开全部
@echo off
for /f "tokens=1* delims=.: " %%i in ('ipconfig^|findstr/r "码 关"')do set %%i=%%j
echo %子网掩码% %默认网关%
pause
追问
这些变量我看的好蒙  %%i=%%j  %子网掩码%  %默认网关%
貌似输入什么就能调用哪行的?好神奇
能简单说一下吗
谢谢
追答
findstr命令可以在ipconfig命令显示的内容里查找字符串,只要你找出需要的行中的特征字符串(甚至只需要一个字)就能仅列出所找的行,供for命令取舍,那么找到的是这两行:
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.1.210
如果用 . : 和空格分隔,比如第一行,第一节就是 子网掩码 剩下部分就是 255.255.255.0
那么 set %%i=%%j 等于就是 set 子网掩码=255.255.255.0
第二行道理相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2012-01-02 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4776万
展开全部
for /f "skip=10 tokens=1-3 delims=关,:" %%a in ('ipconfig') do set addr=%%c
echo %addr:~1%
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
njumwx
2012-01-02 · TA获得超过327个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:432万
展开全部
是固定格式吧的?那么你就好处理了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式