中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » DOS下显示IP,并输出到文件,应该怎么写
作者:
标题: DOS下显示IP,并输出到文件,应该怎么写 上一主题 | 下一主题
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『楼 主』:  DOS下显示IP,并输出到文件,应该怎么写

就是说,,,

我要在DOS下获得本机的IP地址,网关地址,DNS
并将它们在显示的情况下输出到文件中。



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-9-20 11:10
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 2 楼』:  

建议楼主去这里看看:
http://www.cn-dos.net/forum/viewthread.php?tid=22392&fpage=2



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-20 11:12
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 3 楼』:  

我去看了..对我蛮有帮助的.,,,
问题是,出来的效果不是我想要的。

我只想要一个文件,里边只有一个IP。。。如10.10.1.1 简单的一行,就够了。

2006-9-20 22:56
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
mountvol
初级用户





积分 186
发帖 117
注册 2006-8-14
状态 离线
『第 4 楼』:  


@echo off
for /f "delims=: tokens=2" %%i in ('ipconfig ^| findstr /i /c:"ip address"') do echo %%i >ip.txt


2006-9-20 23:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 5 楼』:  

也不行。。。只能输出一个
echo  10.10.1.1

echo  fe80  1>ip.txt

echo  fe80  1>ip.txt

echo  fe80  1>ip.txt


出来的是fe80呀。。。并没有把10.10.1.1写进去了。

2006-9-21 00:44
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 6 楼』:  

>ip.txt echo  fe80  1




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-21 01:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 7 楼』:  


for /f "delims=: tokens=2" %%i in ('ipconfig ^| findstr /i /c:"ip address"') do >ip.txt  echo %%i





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-9-21 01:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 8 楼』:  

@echo off
setlocal enabledelayedexpansion
set IP_num=0
set Gateway_num=0
set DNS_num=0
for /f "tokens=2* delims=:" %%i in ('ipconfig /all ^| find /i "IP Address"') do (
    for /f "tokens=2* delims=:" %%a in ('ipconfig /all ^| find /i "Default Gateway"') do (
        for /f "tokens=2* delims=:" %%1 in ('ipconfig /all ^| find /i "DNS Servers"') do (
            set IP_=%%i
            set Gateway_=%%a
            set DNS_=%%1
            if "!IP_num!"=="2" set IP=!IP_:~1!
            if "!Gateway_num!"=="0" set Gateway=!Gateway_:~1!
            if "!DNS_num!"=="0" set DNS=!DNS_:~1!
            set /a IP_num=!IP_num!+1
            set /a Gateway_num=!Gateway_num!+1
            set /a DNS_num=!DNS_num!+1
        )
    )
)
(echo 外网IP=%IP%
echo.
echo 网关=%Gateway%
echo.
echo DNS=%DNS%
)>ip.txt

楼主只需要修改下面三个值, 便能得到内外网的IP和网关:
if "!IP_num!"=="2"
if "!Gateway_num!"=="0"
if "!DNS_num!"=="0"
后面的跟的值不同提取到的IP也不同,请自行测试!

另外DNS只提取了第一个, 符合楼主的要求吗?

[ Last edited by pengfei on 2006-9-21 at 23:47 ]



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-21 01:11
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 9 楼』:  

谢谢8楼的回答,棒极了。。吾该晒呢。。。我已经解决了问题

2006-9-21 01:36
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: