374 Stimmen

Was ist das Windows-Äquivalent des diff-Befehls?

Ich weiß, dass es einen ähnlichen Beitrag zu diesem Thema gibt: aquí .
Ich habe versucht, die comp aber wenn ich zwei Dateien habe, eine mit Daten wie "abcd" und die andere mit Daten wie "abcde", sagt er nur, dass die Dateien unterschiedlich groß sind. Ich wollte wissen, wo genau sie sich unterscheiden. Unter Unix sagt mir das einfache diff, welche Zeile und Spalte, unter Windows funktioniert der Befehl comp, wenn ich etwas wie "abd" und "abc" habe. Sonst nicht. Hat jemand eine Idee, was ich dafür verwenden kann?

578voto

Andriy M Punkte 73604

Führen Sie dies in der CMD-Shell oder Batch-Datei aus:

FC file1 file2

FC kann auch zum Vergleich von Binärdateien verwendet werden:

FC /B file1 file2

42voto

David Heffernan Punkte 585606

Nun, unter Windows führe ich gerne diff und viele andere der GNU-Werkzeuge. Sie können es tun mit cygwin aber ich persönlich bevorzuge GnuWin32 weil es eine viel leichtere Installation ist.

Meine Antwort lautet also, dass die Windows-Entsprechung von diff ist kein anderer als diff selbst!

32voto

Tim Hutchison Punkte 3233

Eine andere Alternative ist das Herunterladen und Installieren von git von aquí . Fügen Sie dann den Pfad zu Git\bin\ zu Ihrem PATH variabel. Damit erhalten Sie nicht nur diff, sondern auch viele andere Linux-Befehle, die Sie von der Windows-Befehlszeile aus verwenden können.

Sie können die PATH indem Sie mit der rechten Maustaste auf Computer klicken und Eigenschaften wählen. Dann können Sie auf der linken Seite des Bildschirms auf Erweiterte Systemeinstellungen klicken. Klicken Sie im Pop-up-Fenster auf Umgebungsvariablen und fügen Sie dann die PATH-Variable in Ihren Benutzervariablen hinzu oder aktualisieren Sie sie mit Git\bin\

Git diff Dokumentation

30voto

Robert Greiner Punkte 28052

Winmerge hat eine Kommandozeilen-Dienstprogramm die eine Überprüfung wert sein könnten.

Außerdem können Sie je nach Bedarf auch den grafischen Teil verwenden.

19voto

Nimish Choudhary Punkte 2038

FC funktioniert gut, aber in meinem Fall war es nicht hilfreich, da ich nur die geänderten Zeilen haben wollte. Und FC geben zusätzliche Daten wie Dateinamen, gleiche Zeilen und bilateralen Vergleich.

    >fc data.txt data.txt.bak   
    ***** DATA.TXT
    ####09
    ####09
    ####09
    ***** DATA.TXT.BAK
    ####09
    ####08
    ####09

aber in meinem Fall wollte ich nur die Zeilen, die sich geändert haben, und wollte, dass diese Zeilen in eine andere Datei exportiert werden, ohne irgendwelche anderen Kopfzeilen oder Daten.

Ich habe also "findstr" um die Datei zu vergleichen:

findstr /V /G:data.txt.bak data.txt >DiffResult.txt

wobei :

data.txt.bak ist der Name der alten Datei

data.txt ist der Name der neuen Datei

DiffResult.txt enthält die geänderten Daten, d.h. nur eine Zeile ####09

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X