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

VBS Zwei Textdateien vergleichen und die Unterschiede in eine dritte Datei schreiben

Frage Entwicklung

Mitglied: Azubi1452

Azubi1452 (Level 1) - Jetzt verbinden

17.01.2011, aktualisiert 18.10.2012, 6299 Aufrufe, 7 Kommentare

Hallo zusammen,

ich möchte zwei txt-Dateien miteinander vergleichen und die Unterschiede in eine dritte Datei schreiben.
Das ganze soll gut mit der instr-Funktion zu machen sein...
Ich habe hier auch schon angefangen aber leider bekomme ich nichtmal eine Fehlermeldung wenn ich das Skript ausführe. Könntet ihr mir einen Rat geben was falsch bzw. ich vergessen habe ?

Danke schonmal im Voraus.
Gruß, Azubi

01.
 Set fs =CreateObject("Scripting.FileSystemObject") 
02.
Set f1 = fs.OpenTextFile("pfad") 
03.
Set f2 = fs.OpenTextFile("pfad2") 
04.
Set f3 = fs.OpenTextFile("pfad3", 2, True) 
05.
do 
06.
da1 = f1.ReadAll 
07.
da2 = f2.ReadAll 
08.
x1 = StrComp(da1, da2, 1) '0 = binärer- / 1 = text-Vergleich  
09.
If x1 <> 0 Then 
10.
f3.WriteLine da2 
11.
End If 
12.
Loop Until f1.AtEndOfStream 
13.
f1.Close 
14.
f2.Close 
15.
f3.Close 
16.
WScript.Quit 
17.
 
18.
'------------------------Fertig----------------------------------------------' 
19.
MsgBox "Fertig!", Abgeschlossen, vbInfo
Mitglied: Logan000
17.01.2011 um 12:10 Uhr
Moin Moin

Zitat von Azubi1452:
Ich habe hier auch schon angefangen aber leider bekomme ich nichtmal eine Fehlermeldung wenn ich das Skript ausführe.
Könntet ihr mir einen Rat geben was falsch bzw. ich vergessen habe ?

Du hat vergessen mitzuteilen wo genau dein Problem liegt, bzw. was nicht funktioniert.

Gruß L.
Bitte warten ..
Mitglied: 76109
17.01.2011 um 12:24 Uhr
Hallo Logan000!

Naja, ein paar Dinge sind ja nicht zu übersehen

1. Die Do-Schleife macht nur Sinn, wenn die Zeilen einzeln eingelesen werden (ReadLine anstatt ReadAll).
2. Die MsgBox am Ende kann nie ausgegeben werden, wenn das Skript zuvor mit WScript.Quit beendet wird.

Gruß Dieter
Bitte warten ..
Mitglied: Azubi1452
17.01.2011, aktualisiert 18.10.2012
Moin !

Sorry, ich dachte mein Problem ergibt sich aus meiner Beschreibung.

Also ich habe das Skript in einem anderen Beitrag gefunden. Kann es aber leider nicht so ganz verstehen.
Jedenfalls soll dieses Skript genau das machen was ich möchte. Nur leider tut es das nicht.

Als ich es denn kopiert und ein paar andere Fehlermeldungen schon von selbst "beseitigen" konnte stehe ich nun vor dem Problem, dass dieses Skript irgendwo hängen bleibt und ich nicht weiß was los ist, da ich keine Fehlermeldung bekomme.

Von hier habe ich den Code: http://www.administrator.de/forum/vergleich-von-zwei-csv-dateien-und-sc ...

Gruß,
Azubi
Bitte warten ..
Mitglied: bastla
17.01.2011 um 13:26 Uhr
Hallo Azubi1452!

Soferne Du den Lösungsweg nicht auf VBS einschränken willst / musst, könnte folgende CMD-Zeile genügen:
findstr /x /l /v /g:pfad pfad2 >pfad3
Ansonsten könntest Du natürlich beide Dateien per ".ReadAll" einlesen und die Zeilen der beiden Arrays in einer Schleife vergleichen - zumindest, wenn Du davon ausgehen kannst, dass es nur innerhalb einzelner Zeilen Unterschiede gibt, die Anordnung und Anzahl der Zeilen aber in beiden Dateien gleich ist ...

Grüße
bastla
Bitte warten ..
Mitglied: Logan000
17.01.2011 um 13:44 Uhr
Moin

@Dieter
Zitat von 76109:
Hallo Logan000!
Naja, ein paar Dinge sind ja nicht zu übersehen

Stimmt Wohl, aber dewegen wird das was unser Azubi realisieren möchte auch nicht unbedung klarer.
Und 2. zeigt noch ganz andere Schwächen auf.

@Azubi1452
Zitat von Azubi1452:
>...stehe ich nun vor dem Problem, dass dieses Skript irgendwo hängen bleibt und ich nicht weiß was los ist, da ich keine Fehlermeldung bekomme.
Das Skript läuft auch "Fehlerfrei" durch (siehe Didis Kommentar), was dir der Taskmanager auch bestätigen dürfte.
Was 1. angeht musst du dir natürlich überlegen wie du vergleichen möchtest (Zeilenweise, Wortweise, Zeichenweise,.....).
Weiter soltest du Dir überlegen ob es vorkommen kann, das die 1. Datei mehr Zeilen (Wörter. Zeichen,...) als die 2. hat und wie dein Skript damit umgehen soll.

Gruß L.
Bitte warten ..
Mitglied: Azubi1452
19.01.2011 um 09:46 Uhr
Hallo !

Danke für eure Antworten.

Der Befehl findstr gibt 16 Zeilen aus. Aber eigentlich dürften nur 14 gefunden werden weil gleich die ersten beiden Zeilen aus der Ergebnisdatei in beiden anderen Dateien vorhanden sind. Das kann ich mir bisher nicht erklären.

Ich habe auch schon überlegt die Datei Zeilenweise einzulesen...aber leider gibt es innerhalb der Dateien auch unterschiede in der Anordnung der Zeilen..

Ich bin im Moment ein wenig ratlos..

Gruß,
Azubi
Bitte warten ..
Mitglied: bastla
19.01.2011 um 10:29 Uhr
Hallo Azubi1452!

Da die gesamte Zeile (Schalter "/x") verglichen wird, führen zB zusätzliche Leerzeichen (etwa am Zeilenende) zu einem Unterschied; ebenso wird Groß-/Kleinschreibung unterschieden (lässt sich mit "/i" verhindern) - ansonsten sollten gleiche Zeilen im Ergebnis nicht auftauchen ...

Und nur zur Sicherheit: Der zweite Schalter oben ist ein "L" ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben
gelöst Frage von sid.pdmBatch & Shell6 Kommentare

Hallo Zusammen, ich habe in einem älteren Eintrag schon einen guten Ansatz zur Lösung meines Problems gefunden, allerdings funktioniert ...

Batch & Shell
Batch vergleich von zwei dateien
gelöst Frage von realdavegerBatch & Shell6 Kommentare

Hallo, nach Jahrelangem zugucken, habe ich jetzt schlussendlich eine Frage welche ich selbst stelle. Ich versuche 2 zeiten aus ...

Batch & Shell
Zwei Werte vergleichen in einer Batch-Datei
gelöst Frage von PatrickHeissi10Batch & Shell1 Kommentar

Ich möchte die beiden Variablen %eins% und %zwei% vergleichen haben diese den gleichen Wert haben-> goto einszwei Danke

Batch & Shell
Textdateien vergleichen BATCH
gelöst Frage von FeudelFredBatch & Shell2 Kommentare

Moin Moin, ich bin komplett neu im Forum und habe auch keine sonderlich großen Erfahrungen mit Foren. Habe eine ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 30 MinutenInternet

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 7 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 18 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 20 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen13 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...