#include Global $Gateway Func _CheckIP() _FileCreate("Trace.bat") FileWriteLine("Trace.bat","Tracert 10.24.100.10 > "&@WindowsDir &"\system32\Trace.log") RunWait("Trace.bat"&@SW_HIDE) FileDelete("Trace.bat") $CheckIP = "None" IF @IPAddress1 <> "0.0.0.0" Then $CheckIP = _CheckLog(@IPAddress1) EndIF IF @IPAddress2 <> "0.0.0.0" and $CheckIP = "None" Then $CheckIP = _CheckLog(@IPAddress2) EndIf IF @IPAddress3 <> "0.0.0.0" and $CheckIP = "None" Then $CheckIP = _CheckLog(@IPAddress3) EndIf IF @IPAddress4 <> "0.0.0.0" and $CheckIP = "None" Then $CheckIP = _CheckLog(@IPAddress4) EndIf return $CheckIP EndFunc Func _CheckLog($IPAddress) $found = 0 For $row = 1 to 10 $word = FileReadLine(@WindowsDir &"\system32\Trace.log",$row) $data = StringSplit($word," ") For $i = 1 to $data[0] $dataarr= StringSplit($data[$i],".") IF $dataarr[0] = 4 and $dataarr[4] <> "com" Then $found = $found + 1 IF $found = 2 Then IF StringLeft($data[$i],1) = "[" Then $Gateway1 = StringSplit($data[$i],"[") $Gateway2 = StringSplit($Gateway1[2],"]") $Gateway = $Gateway2[1] ExitLoop Else $Gateway = $data[$i] ExitLoop EndIF EndIF EndIF Next Next return _CompareIP($Gateway,$IPAddress) EndFunc Func _CompareIP($Gateway,$IP) $GatewayArr= StringSplit($Gateway,".") $Network = $GatewayArr[1]&"."&$GatewayArr[2]&"."&$GatewayArr[3] $IPArr = StringSplit($IP,".") $Network1 = $IPArr[1]&"."&$IPArr[2]&"."&$IPArr[3] ;ConsoleWrite($Network &':'&$Network1&@CRLF) IF $Network = $Network1 Then return $IP ElseIf $Network='10.24.104' and $Network1='10.24.105' Then return $IP Else return "None" EndIF EndFunc $IPAddress =_CheckIP() ConsoleWrite($IPAddress&@CRLF)