如何使用vbscript计算给定范围内的可用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计算此值? 为了简化问题,我使用了一个非常

我有一个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计算此值?

为了简化问题,我使用了一个非常简单的范围,但在现实世界中,我需要在更大的子网上执行此操作。

经过几天的研究,谢谢你。我想出了剧本。答案是这样的

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,但我对它知之甚少。我对脚本还不熟悉,所以它的组织方式可能不是最好的,但脚本确实有效。如果有人能够编辑并使其看起来更好,请随意这样做。“为了使问题变得简单,我使用了一个非常简单的范围,但在现实世界中,我需要在更大的子网上执行此操作。”我是脚本编写新手,因此它可能不是最好的组织方式,但脚本确实有效。如果有人能够编辑并使其看起来更好,请随意这样做。“为了使问题变得简单,我使用了一个非常简单的范围,但在现实世界中,我需要在更大的子网上执行此操作。”