Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst VBScript Ausgabe von unterschiedlichen Einträgen in 2 Arrays

Mitglied: mrmojo

mrmojo (Level 1) - Jetzt verbinden

06.04.2009, aktualisiert 15:24 Uhr, 3165 Aufrufe, 1 Kommentar

Hallo,

habe ein kleines Problem und zwar wie bekomme ich bei folgendem Script die 0 und die 2 (stellvertretend für andere Strings) ausgegeben und nicht nur die doppelten Einträge??
Weil so bekomme ich als Ergebnis nur 1 1
3 3
4 4 in eine Textdatei geschrieben, mich interessieren aber auch die übrigen Einträge.
mfg


Dim Array1(3), Array2(3)
const forwriting = 2

Array1(0) = "1"
Array1(1) = "2"
Array1(2) = "3"
Array1(3) = "4"

Array2(0) = "4"
Array2(1) = "3"
Array2(2) = "1"
Array2(3) = "0"

set fso = createobject("scripting.filesystemobject")
set f= fso.opentextfile("C:\Bat\backup\projekt\ergebnis.txt", 2)

for i = 0 to ubound(Array1)
for s = 0 to ubound(Array2)

if instr(Array1(i), Array2(s)) > 0 then

msgbox Array1(i) & " " & Array2(s)
f.writeline Array1(i) & " " & Array2(s)

end if

next
next
Mitglied: bastla
06.04.2009 um 17:16 Uhr
Hallo mrmojo und willkommen im Forum!

Etwa so:
01.
Dim Array1(3), Array2(3) 
02.
 
03.
Array1(0) = "1" 
04.
Array1(1) = "2" 
05.
Array1(2) = "3" 
06.
Array1(3) = "4" 
07.
 
08.
Array2(0) = "4" 
09.
Array2(1) = "3" 
10.
Array2(2) = "1" 
11.
Array2(3) = "0" 
12.
 
13.
Set fso = CreateObject("Scripting.FileSystemObject") 
14.
Set f = fso.CreateTextFile("C:\Bat\backup\projekt\ergebnis.txt") 
15.
 
16.
For i = 0 to UBound(Array1) 
17.
    Found = False 
18.
    For s = 0 To UBound(Array2) 
19.
        If InStr(Array1(i), Array2(s)) > 0 Then 
20.
            WScript.Echo Array1(i) & " " & Array2(s) 
21.
            f.WriteLine Array1(i) & " " & Array2(s) 
22.
            Found = True 
23.
            Exit For 
24.
        End If 
25.
    Next 
26.
    If Not Found Then WScript.Echo "Nur in Array1: " & Array1(i) 
27.
Next 
28.
 
29.
For s = 0 to UBound(Array2) 
30.
    Found = False 
31.
    For i = 0 To UBound(Array1) 
32.
        If InStr(Array1(i), Array2(s)) > 0 Then 
33.
            Found = True 
34.
            Exit For 
35.
        End If 
36.
    Next 
37.
    If Not Found Then WScript.Echo "Nur in Array2: " & Array2(s) 
38.
Next
Natürlich kannst Du die "Einzelgänger" auch zusätzlich in eine weitere Ausgabedatei schreiben.

Anzumerken wäre noch, dass Du nicht auf Gleichheit der Werte prüfst, sondern darauf, ob der Wert aus dem Array2 in einem Wert des Array1 enthalten ist, was allerdings bei gleicher Zeichenanzahl in den jeweiligen Strings zum selben Ergebnis führt.

[Edit] Als Ergänzung: Wenn tatsächlich auf Gleichheit der Einträge geprüft werden sollte, wäre auch die Verwendung eines "Dictionary" eine Möglichkeit:
01.
Set d = CreateObject("Scripting.Dictionary") 
02.
d.Add "1", False 'Eintrag hinzufügen, Vorgabe von "False" als Kennzeichen für "auch in Array2 enthalten" 
03.
d.Add "2", False 
04.
d.Add "3", False 
05.
d.Add "4", False 
06.
 
07.
Array2 = Array("4","3","1","0") 
08.
 
09.
Set fso = CreateObject("Scripting.FilesystemObject") 
10.
Set f = fso.CreateTextFile("C:\Bat\backup\projekt\ergebnis.txt") 
11.
 
12.
For s = 0 to UBound(Array2) 
13.
    Wert = Array2(s) 
14.
    If d.Exists(Wert) Then 
15.
        WScript.Echo Wert 
16.
        f.WriteLine Wert 
17.
        d.Item(Wert) = True 'Dictionary-Eintrag aktuallisieren 
18.
    Else 
19.
        WScript.Echo "Nur in Array2: " & Wert 
20.
    End If 
21.
Next 
22.
 
23.
For Each K In d.Keys 
24.
    If Not d.Item(K) Then WScript.Echo "Nur in Array1: " & K 'für den Wert K ist noch immer "False" eingetragen, daher nicht in Array2 enthalten 
25.
Next
[/Edit]

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell - 2 Arrays vergleichen und gleiche Einträge verbinden

gelöst Frage von internet2107Batch & Shell6 Kommentare

Im ersten Array wird eine HL7 Datei eingelesen im zweiten Array wird die .ini-Datei eingelesen Es sollen nun beide ...

Windows Server

Unterschiedliche DNS Einträge an unterschiedlichen Standorten

gelöst Frage von conym18Windows Server7 Kommentare

Guten Morgen, wir haben Domäne mit 5 Standorten. Am Standort A steht der Haupt DC und die anderen Standorte ...

VB for Applications

Mit VBScript 2. Monitor erkennen

gelöst Frage von VbsUserVB for Applications3 Kommentare

Hallo, benötige Hilfe. Vielleicht hat jemand eine Idee Vor der Ausgabe einer Diashow auf einen 2. Monitor soll geprüft ...

Server-Hardware

2 unterschiedliche CPUs auf einem Serverboard

Frage von CordiMoonServer-Hardware9 Kommentare

Hallo, die Forensuche hat bisher nichts ergeben deswegen schreibe ich hier mein Anliegen: Wir haben einen halb ausgebauten Dell ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 14 StundenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 14 StundenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 1 TagDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 1 TagSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Exchange Server
Exchange Postfach Einbindung Betriebs-rat -Arzt, Bewerbung .
gelöst Frage von YellowcakeExchange Server23 Kommentare

Hey ich habe da mal eine Denksport Aufgabe bekommen Genutzt wird ein Exchange Server 2010. hier gibt es den ...

Windows Server
Downgrade von Windows Server 2016 auf 2012 - Wie vorgehen?
Frage von EstefaniaWindows Server13 Kommentare

Guten Ich habe eine Frage an Erfahrene unter euch. Durch einen InPlace Upgrade wurde Windows Server 2012 auf die ...

Datenschutz
Telematikinfrastruktur Erfahrungsaustausch
Frage von MOS6581Datenschutz12 Kommentare

Moin, unter meinen Kunden befinden sich auch einige Ärzte, welche sich künftig mit der Telematikinfrastruktur-Geschichte der Gematik herumärgern dürfen. ...

Windows Server
Delgegierte OU via RDP verwalten - Objektverwaltung zuweisen
gelöst Frage von TOAOICEWindows Server12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte in meiner Domäne (Server2016), einer Gruppe (OUAdmin) Berechtigungen auf die OU Test ...