2011-05-10 1 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를 배웠으므로 사용해야했습니다. 이제 파이썬을 지원하지만 아직 그것에 대해 많이 알지 못합니다. – 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

관련 문제