中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-13 03:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]提取IP内容 帮我修改修改 查看 1,244 回复 11
楼 主 [已解决]提取IP内容 帮我修改修改 发表于 2009-11-22 16:34 ·  中国 广西 贺州 钟山县 电信
初级用户
积分 20
发帖 17
注册 2009-06-16 05:37
17年会员
UID 147519
性别 男
状态 离线
@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 发表于 2009-11-22 17:37 ·  中国 天津 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
同志啊,这个问题我好象看到之前已经发过好几回了,都搜搜啊啊啊
不过我还是没找到。。。
重新给你写一个吧


@echo off
set hn=Host Name
set pa=Physical Address
set ip=IP Address
set sm=Subnet Mask
set dg=Default Gateway
set ds=DNS Servers

setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=:" %%i in ('ipconfig /all') do (
set t=%%i
if "!t:%hn%=!" neq "!t!" echo 机号:%%j>1.txt
if "!t:%pa%=!" neq "!t!" echo 网卡地址:%%j>>1.txt
if "!t:%ip%=!" neq "!t!" echo IP:%%j>>1.txt
if "!t:%sm%=!" neq "!t!" echo 子掩码:%%j>>1.txt
if "!t:%dg%=!" neq "!t!" echo 网关:%%j>>1.txt
if "!t:%ds%=!" neq "!t!" echo DNS:%%j>>1.txt
)
pause
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
3 发表于 2009-11-22 18:32 ·  中国 重庆 石柱土家族自治县 电信
初级用户
积分 47
发帖 41
注册 2009-04-24 02:17
17年会员
UID 143654
性别 男
状态 离线
@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 发表于 2009-11-22 21:51 ·  中国 广西 贺州 钟山县 电信
初级用户
积分 20
发帖 17
注册 2009-06-16 05:37
17年会员
UID 147519
性别 男
状态 离线
谢谢你们了
5 发表于 2009-11-27 19:04 ·  中国 广西 梧州 电信
初级用户
★★
积分 168
发帖 78
注册 2006-12-27 09:58
19年会员
UID 74699
性别 男
状态 离线
2楼的兄弟写得很简洁明了。。
我抬头仰望,原来天还是跟原来一样高.
I look up to the rise, the original days or as high as the original.
6 这是一张网卡的时候可以 但要是有3张网卡要怎么写啊 发表于 2010-01-05 16:52 ·  中国 福建 福州 电信
初级用户
积分 23
发帖 9
注册 2007-01-22 01:53
19年会员
UID 77282
性别 男
状态 离线
这是一张网卡的时候可以 但要是有3张网卡要怎么写啊
7 发表于 2010-01-07 21:37 ·  中国 广东 深圳 电信
初级用户
★★
游手好闲 + 无所事事 ..
积分 194
发帖 167
注册 2007-04-30 09:43
19年会员
UID 87022
性别 男
状态 离线
那就找到 网卡名 所在的行数,用 for token skip 跳过指定行数,从最后一个逆向找相关信息用 >> 追加写入
8 发表于 2010-01-07 22:51 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
2楼的经测试比较好用!

你的经测试不成功,请重新检查一下(我喜欢你的写法,可惜不知那里出错)
9 发表于 2010-01-07 22:52 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
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 发表于 2010-01-07 23:04 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
附: ipconfig /all >ipconfig.txt
Windows IP Configuration

Host Name . . . . . . . . . . . . : dzsz-86b2it474e

Primary Dns Suffix . . . . . . . :

Node Type . . . . . . . . . . . . : Unknown

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地连接:


Connection-specific DNS Suffix . :

Description . . . . . . . . . . . : VIA Rhine II Compatible Fast Ethernet Adapter

Physical Address. . . . . . . . . : 00-6B-6A-08-76-88

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 192.168.1.11

Subnet Mask . . . . . . . . . . . : 255.255.255.0

IP Address. . . . . . . . . . . . : 192.168.1.10

Subnet Mask . . . . . . . . . . . : 255.255.255.0

IP Address. . . . . . . . . . . . : 192.168.1.12

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 192.168.1.1

DNS Servers . . . . . . . . . . . : 229.146.11.120

229.150.32.122
11 这样是不是更好用: 发表于 2010-01-08 10:40 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@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
start list.txt
批处理之家新域名:www.bathome.net
12 发表于 2010-01-08 12:33 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
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

谢谢!非常好用
怎么把获得的数据写入
for /f "tokens=2 delims=:" %%a in (list.txt') do (
echo netsh interface ip set address name="本地连接" source=static addr=!%%a! mask=!%%a! gateway=!%%a! gwmetric=auto
echo netsh interface ip set dns name="本地连接" source=static addr=!%%a! register=PRIMARY
echo netsh interface ip set wins name="本地连接" static addr=none)>本地连接.txt
论坛跳转: