VBS Zwei Textdateien vergleichen und die Unterschiede in eine dritte Datei schreiben
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
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
Set fs =CreateObject("Scripting.FileSystemObject")
Set f1 = fs.OpenTextFile("pfad")
Set f2 = fs.OpenTextFile("pfad2")
Set f3 = fs.OpenTextFile("pfad3", 2, True)
do
da1 = f1.ReadAll
da2 = f2.ReadAll
x1 = StrComp(da1, da2, 1) '0 = binärer- / 1 = text-Vergleich
If x1 <> 0 Then
f3.WriteLine da2
End If
Loop Until f1.AtEndOfStream
f1.Close
f2.Close
f3.Close
WScript.Quit
'------------------------Fertig----------------------------------------------'
MsgBox "Fertig!", Abgeschlossen, vbInfo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 158795
Url: https://administrator.de/forum/vbs-zwei-textdateien-vergleichen-und-die-unterschiede-in-eine-dritte-datei-schreiben-158795.html
Ausgedruckt am: 23.12.2024 um 23:12 Uhr
7 Kommentare
Neuester Kommentar
Moin Moin
Du hat vergessen mitzuteilen wo genau dein Problem liegt, bzw. was nicht funktioniert.
Gruß L.
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 ?
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.
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
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
Hallo Azubi1452!
Soferne Du den Lösungsweg nicht auf VBS einschränken willst / musst, könnte folgende CMD-Zeile genügen:
Ansonsten könntest Du natürlich beide Dateien per "
Grüße
bastla
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
.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
Moin
@Dieter
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
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.
@Dieter
Zitat von @76109:
Hallo Logan000!
Naja, ein paar Dinge sind ja nicht zu übersehen
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....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.
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.
Hallo Azubi1452!
Da die gesamte Zeile (Schalter "
Und nur zur Sicherheit: Der zweite Schalter oben ist ein "L" ...
Grüße
bastla
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