标题: [已解决]提取IP内容 帮我修改修改
[打印本页]
作者: qubin1979
时间: 2009-11-22 16:34
标题: [已解决]提取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 ]
作者: qinchun36
时间: 2009-11-22 17:37
同志啊,这个问题我好象看到之前已经发过好几回了,都搜搜啊啊啊
不过我还是没找到。。。
重新给你写一个吧
@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
作者: yangfengoo
时间: 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
)
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
作者: qubin1979
时间: 2009-11-22 21:51
谢谢你们了
作者: applecy
时间: 2009-11-27 19:04
2楼的兄弟写得很简洁明了。。
作者: tsmirs
时间: 2010-1-5 16:52
标题: 这是一张网卡的时候可以 但要是有3张网卡要怎么写啊
这是一张网卡的时候可以 但要是有3张网卡要怎么写啊
作者: exzzz
时间: 2010-1-7 21:37
那就找到 网卡名 所在的行数,用 for token skip 跳过指定行数,从最后一个逆向找相关信息用 >> 追加写入
作者: temp1
时间: 2010-1-7 22:51
2楼的经测试比较好用!
你的经测试不成功,请重新检查一下(我喜欢你的写法,可惜不知那里出错)
作者: temp1
时间: 2010-1-7 22:52
Quote: |
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楼的经测试比较好用!
你的经测试不成功,请重新检查一下(我喜欢你的写法,可惜不知那里出错)
作者: temp1
时间: 2010-1-7 23:04
附: 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
作者: bat-zw
时间: 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
start list.txt
作者: temp1
时间: 2010-1-8 12:33
Quote: |
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