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

Mitglied: Azubi1452

Azubi1452 (Level 1) - Jetzt verbinden

17.01.2011, aktualisiert 18.10.2012, 6348 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: https://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
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 11 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 14 StundenAdministrator.de Feedback10 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...