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?

16voto

Paul Williams Punkte 2694

Es gibt auch Powershell (das Teil von Windows ist). Es ist nicht schnell, aber flexibel, hier ist der Grundbefehl. Die Leute haben verschiedene Cmdlets und Skripte dafür geschrieben, wenn Sie eine bessere Formatierung benötigen.

PS C:\Users\Troll> Compare-Object (gc $file1) (gc $file2)

Nicht Teil von Windows, aber wenn Sie ein Entwickler mit Visual Studio sind, wird es mit WinDiff (grafisch)

Mein persönlicher Favorit ist jedoch BeyondCompare, das 30 Dollar kostet.

11voto

nerdfever.com Punkte 1559

Fc. fc ist besser im Umgang mit großen Dateien (> 4 GBytes) als Cygwins diff.

4voto

mattkelly Punkte 606

DiffUtils ist wahrscheinlich die beste Wahl. Es ist das Windows-Äquivalent von diff.

Meines Wissens gibt es keine eingebauten Äquivalente.

4voto

proximace Punkte 41

Der Grund für die Fehlermeldung bei COMP ist, dass das Dienstprogramm davon ausgeht, dass die Dateien, die Sie vergleichen, die gleiche Größe haben. Um dies zu umgehen, können Sie die '/n' mit der Sie die Anzahl der zu vergleichenden Zeilen angeben können. (siehe die von comp unterstützten Optionen durch Eingabe von 'comp /?' in der Befehlszeile. Ihr Befehl würde also wie folgt aussehen:

C:\>comp "filepath1" "filepath2" /a /l /n=(the number of lines you want to compare) /c 

Dies sollte Ihr Problem lösen, wenn Sie bei der Verwendung von COMP bleiben wollen. Bei wirklich großen Dateien wird dies jedoch ein Problem sein.

Obwohl comp ist eine Option, aber ich halte sie für primitiv und FC ist eine bessere Option. Sie können FORFILES y FC zusammen, um wahrscheinlich ein wirklich gutes Dateivergleichsprogramm zu erstellen, wenn Sie es häufig benötigen.

FC wird auf diese Weise als Referenz verwendet:

C:\>fc /c(case insensistive) /lbn(number of errors allowed before you wanna stop compare) /n(display line number) "filename1" "filename2"

Es gibt viele Optionen, die Sie unter folgender Adresse einsehen können 'fc /?' Ich hoffe, das hilft

3voto

Ahmad Punkte 5165

Ich habe eine leichtgewichtige grafische Software für Windows gefunden, die mir in Ermangelung von diff Befehl. Er könnte alle meine Probleme lösen.

WinDiff http://www.grigsoft.com/download-windiff.htm

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