中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 23:20
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]提取IP内容 帮我修改修改
可打印版本  1,241 / 11
第1楼 qubin1979 发表于 2009-11-22 16:34
初级用户 发帖 17 积分 20
[已解决]提取IP内容 帮我修改修改
@echo off
if exist 1.txt del 1.txt
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /i "host address Mask Gateway DNS"') do (
call,set str=%%str%%%%i
)
echo %str%
echo %str% >>1.txt
pause

这个批处理得到的结果是:
xh-200 00-1C-25-A8-68-7A 192.168.1.200 255.255.255.0 192.168.1.1 202.103.224.68

我想得到效果是这样:
机号:XH-200
网卡地址:00-1C-25-A8-68-7A
IP:192.168.1.200
子掩码:255.255.255.0
网关:192.168.1.1
DNS:202.103.224.68

请会的大哥帮我改改 急着用 谢谢了

[ Last edited by qubin1979 on 2010-1-24 at 15:52 ]
第2楼 qinchun36 发表于 2009-11-22 17:37
高级用户 发帖 400 积分 609
同志啊,这个问题我好象看到之前已经发过好几回了,都搜搜啊啊啊
不过我还是没找到。。。
重新给你写一个吧

第3楼 yangfengoo 发表于 2009-11-22 18:32
初级用户 发帖 41 积分 47
@echo off
ipconfig /all >ipconfig.txt
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /i "host address Mask Gateway DNS"') do (
call,set str=%%str%%%%i
)
for /f "tokens=1,2,3,4,5,6 delims= " %%i in (%str%) do (
echo 机号:%%i >1.txt
echo 网卡地址:%%j >>1.txt
echo IP:%%k >>1.txt
echo 子掩码:%%l>>1.txt
echo 网关:%%m>>1.txt
echo DNS:%%n >>1.txt
)
pause
第4楼 qubin1979 发表于 2009-11-22 21:51
初级用户 发帖 17 积分 20
谢谢你们了
第5楼 applecy 发表于 2009-11-27 19:04
初级用户 发帖 78 积分 168
2楼的兄弟写得很简洁明了。。
第6楼 tsmirs 发表于 2010-01-05 16:52
初级用户 发帖 9 积分 23
这是一张网卡的时候可以 但要是有3张网卡要怎么写啊
这是一张网卡的时候可以 但要是有3张网卡要怎么写啊
第7楼 exzzz 发表于 2010-01-07 21:37
初级用户 发帖 167 积分 194
那就找到 网卡名 所在的行数,用 for token skip 跳过指定行数,从最后一个逆向找相关信息用 >> 追加写入
第8楼 temp1 发表于 2010-01-07 22:51
初级用户 发帖 29 积分 40
2楼的经测试比较好用!

你的经测试不成功,请重新检查一下(我喜欢你的写法,可惜不知那里出错)
第9楼 temp1 发表于 2010-01-07 22:52
初级用户 发帖 29 积分 40
Originally posted by yangfengoo at 2009-11-22 18:32:
@echo off
ipconfig /all >ipconfig.txt
for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /i "host address Mask Gateway DNS"') do (
call,set str=%%str%%%%i
)
f ...

2楼的经测试比较好用!

你的经测试不成功,请重新检查一下(我喜欢你的写法,可惜不知那里出错)
第10楼 temp1 发表于 2010-01-07 23:04
初级用户 发帖 29 积分 40
附: ipconfig /all >ipconfig.txt
第11楼 bat-zw 发表于 2010-01-08 10:40
金牌会员 发帖 1,276 积分 3,105
这样是不是更好用:
第12楼 temp1 发表于 2010-01-08 12:33
初级用户 发帖 29 积分 40
Originally posted by bat-zw at 2010-1-8 10:40:
@echo off&setlocal enabledelayedexpansion
for %%a in (Host#Name-机号 Physical#Address-网卡地址 IP#Address-ip Subnet#Mask-子网掩码 Default#Gateway-网关 DNS#Servers-DNS) do (
for /f "tokens=1,2 delims=-" %%b in ("%%a") do set "%%b=%%c"
)
(for /f "tokens=1,2 delims=:" %%a in ('ipconfig /all') do (
for /f "tokens=1,2 delims=. " %%c in ("%%a") do if "!%%c#%%d!" neq "" echo !%%c#%%d!:%%b
))>list.txt

谢谢!非常好用
怎么把获得的数据写入
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023