VBScript Zwei Arrays vergleichen und Abweichungen in drittes Array schreiben.
Hallo,
ich habe ein VBScript das 2 Arrays miteinander vergleicht und die Abweichungen in ein drittes Array schreibt. Wenn Ihr den Code unten in durch euren Compiler schickt werdet Ihr auch sehen das alles soweit klappt.
Jetzt habe ich aber das Problem das ich die "Funktion" ('map no matched printer) 3 Zeile von unten, nach "End If > Next" abfagen möchte. Mache ich dies bekomme ich nur einen Wert aus dem dritten Array zurück anstatt 2 werte.
Villeicht könnt Ihr mir helfen. Danke
ich habe ein VBScript das 2 Arrays miteinander vergleicht und die Abweichungen in ein drittes Array schreibt. Wenn Ihr den Code unten in durch euren Compiler schickt werdet Ihr auch sehen das alles soweit klappt.
Jetzt habe ich aber das Problem das ich die "Funktion" ('map no matched printer) 3 Zeile von unten, nach "End If > Next" abfagen möchte. Mache ich dies bekomme ich nur einen Wert aus dem dritten Array zurück anstatt 2 werte.
Villeicht könnt Ihr mir helfen. Danke
arrPrt1 = Array ("IBM1","IBM2","IBM4","IBM3") ' from controlfile
arrPrt2 = Array ("\\server\IBM1","\\server\IBM2") ' from terminalserver
prtSrv = "\\server\" 'hostname printserver
Dim found
f = 0
For m = 0 To UBound(arrPrt1)
For n = 0 To UBound(arrPrt2)
If UCase(prtSrv & arrPrt1(m)) = UCase(arrPrt2(n)) Then
wscript.Echo "Match: " & prtSrv & arrPrt1(m) & " <> " & arrPrt2(n) 'match
found = false
exit for
Else
wscript.Echo "No Match: " & prtSrv & arrPrt1(m) & " <> " & arrPrt2(n) 'no match
found = true
End If
Next
If found Then
ReDim Preserve arrFinalList(f)
arrFinalList(f) = prtSrv & arrPrt1(m)
f = f + 1
arrPrt4 = arrFinalList(f-1)
wscript.Echo "Map: " & arrPrt4 'map no matched printer
End If
Next
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115902
Url: https://administrator.de/forum/vbscript-zwei-arrays-vergleichen-und-abweichungen-in-drittes-array-schreiben-115902.html
Ausgedruckt am: 29.04.2025 um 02:04 Uhr
12 Kommentare
Neuester Kommentar
Hallo Quixtos!
Meinst Du das so (als Ersatz für die Zeilen ab 19)?
Je eine Ausgabe für "Map ..." erhältst Du ja bei Deinem ursprünglichen Entwurf schon ...
Grüße
bastla
Meinst Du das so (als Ersatz für die Zeilen ab 19)?
If found Then
ReDim Preserve arrFinalList(f)
arrFinalList(f) = prtSrv & arrPrt1(m)
arrPrt4 = arrPrt4 & "," & arrFinalList(f)
f = f + 1
End If
Next
WScript.Echo "Map: " & Mid(arrPrt4, 2) 'map no matched printer
Grüße
bastla