2011-05-10 2 views
2

私はipの範囲を持っています。 192.168.1.0/28ですので、ipsはvbscriptで特定の範囲内で使用可能なIPアドレスを計算するにはどうすればよいですか?

192.168.1.1 
192.168.1.2 
. 
. 
. 
192.168.1.13 
192.168.1.14 

です。これらのipsの一部が使用されているとします。そして、この情報は私に利用可能です。

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で計算できますか?
質問を簡単にするために非常に簡単な範囲を使用しましたが、現実にはもっと大きなサブネットでこの操作を実行する必要があります。
ありがとう

+0

なぜVBScript?これをアプリケーションやウェブスクリプトとして書いていますか? –

+0

ウェブ用ではありません。私はSecureCRT、ターミナルクライアントのためのスクリプトを書いています。最近まで、それはあなたがVBScriptを学んだので使用しなければならなかったものです。今はPythonをサポートしていますが、私はまだそれについてはあまりよく分かりません。 – Onat

答えて

0

調査の数日後。私はそのスクリプトを理解した。ここに答えがあります

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" 
+0

私はスクリプティングの初心者ですので、最良の方法で編成されないかもしれませんが、スクリプトは機能します。誰かが編集して見栄えを良くすることができたら、気軽にしてください。 – Onat

+0

"質問を簡単にするために非常に簡単な範囲を使用しましたが、実際にはもっと大きなサブネットでこの操作を実行する必要があります。 – Vijay

関連する問題