Batch Vergleichen von Dateien
Hallo Leute,
ich habe ein kleines Problem bei einer Batch-Datei.
In dieser versuche ich zwei Text-Dateien miteinander zu vergleichen, hier ein kleines Beispiel:
if "type 1.txt"="type 2.txt" echo entsprechen sich&&pause
Die meisten von euch werden wahrscheinlich den Kopf schütteln, aber ich komme momentan einfach nicht dahinter, wie ich das lösen soll.
Danke schon mal für eure Antworten!
ich habe ein kleines Problem bei einer Batch-Datei.
In dieser versuche ich zwei Text-Dateien miteinander zu vergleichen, hier ein kleines Beispiel:
if "type 1.txt"="type 2.txt" echo entsprechen sich&&pause
Die meisten von euch werden wahrscheinlich den Kopf schütteln, aber ich komme momentan einfach nicht dahinter, wie ich das lösen soll.
Danke schon mal für eure Antworten!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 232417
Url: https://administrator.de/forum/batch-vergleichen-von-dateien-232417.html
Ausgedruckt am: 24.12.2024 um 00:12 Uhr
2 Kommentare
Neuester Kommentar
Moin Blaber,
für das Vergleichen von Dateien auf CMD-Ebene gibt es zwei kleine Utilities namens comp.exe (wie compare) und fc.exe (wie file compare).
Beide sind eher zum interaktiven Eben-mal-Gucken gedacht und weniger für die Batchverarbeitung.
Näheres zu deren Funktionsumfang und Syntax erfährst du mit "fc /?"
bzw. "comp /?" am CMD-Prompt.
Beide Utilities geben auch einen Errorlevel gleich 0 zurück, wenn "Gleichheit" der Dateien festgestellt wurde, einen Errorlevel ungleich 1, falls nicht (oder falls eine der Dateien nicht da ist oder falls du den Befehl "fc" mit tz schreibst oder ähnliches)
Für deine Zwecke im Batch wäre also das Richtige
Das ">nul" dient nur zum Unterdrücken der Meldung "Dateien sind identisch" (oder was immer fc.exe auf den Bildschirm schreiben würde).
Fehlermeldungen leite ich nicht um (das ginge mit zusätzlichem "2>nul").
Bedeutet, dass ein Fehler wie "Datei nicht vorhanden" durchaus sichtbar wird in dieser Form:
Grüße
Biber
für das Vergleichen von Dateien auf CMD-Ebene gibt es zwei kleine Utilities namens comp.exe (wie compare) und fc.exe (wie file compare).
Beide sind eher zum interaktiven Eben-mal-Gucken gedacht und weniger für die Batchverarbeitung.
Näheres zu deren Funktionsumfang und Syntax erfährst du mit "fc /?"
bzw. "comp /?" am CMD-Prompt.
Beide Utilities geben auch einen Errorlevel gleich 0 zurück, wenn "Gleichheit" der Dateien festgestellt wurde, einen Errorlevel ungleich 1, falls nicht (oder falls eine der Dateien nicht da ist oder falls du den Befehl "fc" mit tz schreibst oder ähnliches)
Für deine Zwecke im Batch wäre also das Richtige
fc pfad1\erster.txt pfad2\zweiter.txt>nul && @echo Dateien sind gleich
Das ">nul" dient nur zum Unterdrücken der Meldung "Dateien sind identisch" (oder was immer fc.exe auf den Bildschirm schreiben würde).
Fehlermeldungen leite ich nicht um (das ginge mit zusätzlichem "2>nul").
Bedeutet, dass ein Fehler wie "Datei nicht vorhanden" durchaus sichtbar wird in dieser Form:
FC: Kann NichtDa.txt nicht öffnen - Datei oder Ordner nicht vorhanden
Grüße
Biber