如何使用vbscript计算给定范围内的可用ip地址?
我有一个ip范围<代码>192.168.1.0/28因此IP是如何使用vbscript计算给定范围内的可用ip地址?,vbscript,ip,Vbscript,Ip,我有一个ip范围192.168.1.0/28因此IP是 192.168.1.1 192.168.1.2 . . . 192.168.1.13 192.168.1.14 假设其中一些IP正在使用。我可以得到这些信息 192.168.1.1 192.168.1.2 现在,我需要计算给定范围内剩余的所有可用地址。答案应该是 192.168.1.3 192.168.1.4 . . 192.168.1.13 192.168.1.14 如何使用vbscript计算此值? 为了简化问题,我使用了一个非常
192.168.1.1
192.168.1.2
.
.
.
192.168.1.13
192.168.1.14
假设其中一些IP正在使用。我可以得到这些信息
192.168.1.1
192.168.1.2
现在,我需要计算给定范围内剩余的所有可用地址。答案应该是
192.168.1.3
192.168.1.4
.
.
192.168.1.13
192.168.1.14
如何使用vbscript计算此值?为了简化问题,我使用了一个非常简单的范围,但在现实世界中,我需要在更大的子网上执行此操作。
经过几天的研究,谢谢你。我想出了剧本。答案是这样的
Dim strAllIP, strUsedIP, strAvailableIps
Dim ynum, xnum, counter, outercounter
ynum = 0
xnum = 0
counter = 0
outercounter = 0
strAllIP = Array("192.168.1.1","192.168.1.2","192.168.1.3", _
"192.168.1.4","192.168.1.5","192.168.1.6", _
"192.168.1.7","192.168.1.8","192.168.1.9", _
"192.168.1.10","192.168.1.11","192.168.1.12", _
"192.168.1.13", "192.168.1.14")
strUsedIP = Array("192.168.1.1","192.168.1.2")
For each i in strAllIP
For each j in strUsedIP
If i = j Then
Exit For
End if
counter = counter + 1
If counter - 1 = Ubound(strUsedIP) Then
Match = True
Exit for
End if
Next
counter = 0
If match = True Then
Redim preserve newarray(outercounter)
newarray(outercounter)= i
outercounter = outercounter + 1
End if
Match = False
Next
strAvailableIps = join(newarray,chr(13))
msgbox strAvailableIps,0,"Available IPs"
经过几天的研究。我想出了剧本。答案是这样的
Dim strAllIP, strUsedIP, strAvailableIps
Dim ynum, xnum, counter, outercounter
ynum = 0
xnum = 0
counter = 0
outercounter = 0
strAllIP = Array("192.168.1.1","192.168.1.2","192.168.1.3", _
"192.168.1.4","192.168.1.5","192.168.1.6", _
"192.168.1.7","192.168.1.8","192.168.1.9", _
"192.168.1.10","192.168.1.11","192.168.1.12", _
"192.168.1.13", "192.168.1.14")
strUsedIP = Array("192.168.1.1","192.168.1.2")
For each i in strAllIP
For each j in strUsedIP
If i = j Then
Exit For
End if
counter = counter + 1
If counter - 1 = Ubound(strUsedIP) Then
Match = True
Exit for
End if
Next
counter = 0
If match = True Then
Redim preserve newarray(outercounter)
newarray(outercounter)= i
outercounter = outercounter + 1
End if
Match = False
Next
strAvailableIps = join(newarray,chr(13))
msgbox strAvailableIps,0,"Available IPs"
为什么使用VBScript?您是作为应用程序还是web脚本编写的?不是为web编写的。我正在为终端客户端SecureCRT编写脚本。直到最近,这才是您必须使用的,所以我学习了VBScript。它现在支持python,但我还不太了解它。为什么要使用VBScript?您是作为应用程序还是web脚本编写的?不是为web编写的。我正在为终端客户端SecureCRT编写脚本。直到最近,这才是您必须使用的,所以我学习了VBScript。它现在支持python,但我对它知之甚少。我对脚本还不熟悉,所以它的组织方式可能不是最好的,但脚本确实有效。如果有人能够编辑并使其看起来更好,请随意这样做。“为了使问题变得简单,我使用了一个非常简单的范围,但在现实世界中,我需要在更大的子网上执行此操作。”我是脚本编写新手,因此它可能不是最好的组织方式,但脚本确实有效。如果有人能够编辑并使其看起来更好,请随意这样做。“为了使问题变得简单,我使用了一个非常简单的范围,但在现实世界中,我需要在更大的子网上执行此操作。”