|
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 |
|