中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于拨号不重复IP的问题 上一主题 | 下一主题
sexfio
社区乞丐





积分 -27
发帖 45
注册 2006-5-16
状态 离线
『楼 主』:  关于拨号不重复IP的问题

我想写个拨号不重复IP的代码(用a.txt记录拨过的IP地址,重复就从拨)
搜索了论坛没找到相关的帖子
我用VBS是写出来了,但是放虚拟机用不了
我换了一种写法,虚拟机里可以用了,但是无法完全隐藏dos窗口(我用.exec来捕捉ipconfig返回的字符串)
请教大家了,请大家给个办法,BAT或VBS都可以,谢谢!

2009-4-15 13:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

先把你尝试的两个代码贴出来看看?



2009-4-15 14:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 3 楼』:  


ipconfig /all|findstr /i /g:1.txt&&goto :重拔||ipconfig /all|findstr /i "ip address" >1.txt

:重拔
重新拔号
goto :eof




49206C6F766520796F752067757973 54656C3A3133383238343036373837
2009-4-15 15:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sexfio
社区乞丐





积分 -27
发帖 45
注册 2006-5-16
状态 离线
『第 4 楼』:  

谢谢楼上的,不过没实验成功,看来我要好好学习批处理了,都看不懂,5555~~~

2009-4-15 22:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sexfio
社区乞丐





积分 -27
发帖 45
注册 2006-5-16
状态 离线
『第 5 楼』:  

Public Function GetIP
Set WS = CreateObject("WScript.Shell")
Set aExec = WS.exec("ipconfig")
Set aStdOut = aExec.StdOut
ipconfig = aStdOut.Readall
If InstrRev(ipconfig,"宽带连接",-1,1)=0 then
GetIP=-1
Else
GetIP=InstrRev(ipconfig,":",-1,1)
GetIP=Right(ipconfig,len(ipconfig)-GetIP)
GetIP=trim(GetIP)
GetIP=replace(GetIP,chr(10),"")
GetIP=replace(GetIP,chr(13),"")
End If
set WS = nothing
End Function

这个是我自己写的判断IP的调用(没连接返回-1),就是从ipconfig里找Ip,但是.exec没法完全隐藏dos窗口,我不想写txt再删除,不知道有其他好的办法没

这个是网上找的,但是不知道为什么虚拟机里用不了
Public Function GetIP
ComputerName="."
Dim objWMIService,colItems,objItem,objAddress
GetIP_i=0
Set objWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each objItem in colItems
GetIP_i=GetIP_i+1
For Each objAddress in objItem.IPAddress
If objAddress <> "" then
GetIP = objAddress
End If
Next
Next
If GetIP_i=1 then
GetIP=-1
End If
End Function

没连接返回-1是我自己加上去的,我看不大懂,虚拟机里卡在Set objWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")这句上了,不知道为什么

有了调用,其他就简单了,就不发了,大家帮我看看哈:D

[ Last edited by sexfio on 2009-4-15 at 22:19 ]

2009-4-15 22:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 6 楼』:  


ipconfig /all|findstr /i /g:1.txt&&goto pppoe||ipconfig /all|findstr /i "ip address" >1.txt
goto :eof

:ppooe
rasdial /disconnect
rasdial xDSL username password
goto :eof
xdsl是你电脑上的宽带名称



49206C6F766520796F752067757973 54656C3A3133383238343036373837
2009-4-16 00:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: