Ich weiß, dass es einen ähnlichen Beitrag gibt: hier .
Ich habe versucht, den comp
Befehl wie erwähnt zu verwenden, aber wenn ich zwei Dateien habe, eine mit Daten wie "abcd" und die andere mit Daten "abcde", heißt es nur, dass die Dateien unterschiedliche Größen haben. Ich wollte wissen, wo genau sie sich unterscheiden. Unter Unix sagt mir der einfache Diff, welche Zeile und Spalte der Befehl comp in Windows funktioniert, wenn ich so etwas wie "abd" und "abc" habe. Nicht anders. Irgendwelche Ideen, was ich dafür verwenden kann?
284
FC path1\* FC path2\*
würde alle Dateien in den Ordnern vergleichenpath1
undpath2
, sofern sie (die Dateien) identische Namen haben. Wenn Dateien mit nicht übereinstimmenden Namen vorhanden sind, würde FC eine fehlende Datei melden, jedoch nur für die Dateien des ersten Ordners, die nicht vorhanden sind Wird nicht im zweiten Ordner gefunden und nicht umgekehrt. Um alle Fehlpaarungen zu erkennen, wäre wahrscheinlich eine andere Technik erforderlich.files in both directories are diff'd; files in only one directory throw errors.
" Interessant. Aber sicherlich gibt es ein Drittanbieterprogramm, das diff entspricht?Nun, unter Windows laufe ich glücklich
diff
und viele andere der GNU-Tools. Sie können es mit Cygwin machen , aber ich persönlich bevorzuge GnuWin32, weil es eine viel leichtere Installationserfahrung ist.Meine Antwort lautet also, dass das Windows-Äquivalent von
diff
nichts anderes als sichdiff
selbst ist!quelle
diffutils
. Siehe cygwin.com/cgi-bin2/…Winmerge verfügt über ein Befehlszeilenprogramm, das möglicherweise einen Besuch wert ist.
Sie können auch den grafischen Teil verwenden, je nachdem, was Sie benötigen.
quelle
Eine andere Alternative ist das Herunterladen und Installieren von git von hier . Fügen Sie dann den Pfad
Git\bin\
zu IhrerPATH
Variablen hinzu. Dadurch erhalten Sie nicht nur diff, sondern auch viele andere Linux-Befehle, die Sie über die Windows-Befehlszeile verwenden können.Sie können die
PATH
Variable festlegen , indem Sie mit der rechten Maustaste auf Computer klicken und Eigenschaften auswählen. Dann können Sie auf der linken Seite des Bildschirms auf Erweiterte Systemeinstellungen klicken. Klicken Sie im Popup auf Umgebungsvariablen und fügen Sie dann die PATH-Variable in Ihren Benutzervariablen hinzu oder aktualisieren Sie sie mitGit\bin\
Git Diff Dokumentation
quelle
git...
ausführbare Dateien aus dem PATH zur Verfügung haben. Darüber hinaus sollte die Antwort wahrscheinlich eine wichtige Information enthalten: Sie müssen das Diff-Toolgit diff
nicht nur schriftlich startendiff
.diff
FC funktioniert großartig, in meinem Fall war es nicht hilfreich, da ich nur die Zeilen wollte, die geändert werden. Und FC geben zusätzliche Daten wie Dateiname, gleiche Zeilen und bilateralen Vergleich.
In meinem Fall wollte ich jedoch nur die Zeilen, die sich geändert haben, und wollte, dass diese Zeilen ohne andere Header oder Daten in eine andere Datei exportiert werden.
Also habe ich "findstr" verwendet , um die Datei zu vergleichen:
wo :
data.txt.bak
ist der Name der alten Dateidata.txt
ist der Name der neuen DateiDiffResult.txt
enthält die Daten, die geändert werden, dh nur eine Zeile #### 09quelle
fc. fc kann große Dateien (> 4 GByte) besser verarbeiten als Cygwins Diff.
quelle
Es gibt auch Powershell (das Teil von Windows ist). Es ist nicht schnell, aber flexibel. Hier ist der grundlegende Befehl. Die Leute haben verschiedene Cmdlets und Skripte dafür geschrieben, wenn Sie eine bessere Formatierung benötigen.
Nicht Teil von Windows, aber wenn Sie ein Entwickler mit Visual Studio sind, wird es mit WinDiff (grafisch) geliefert.
Aber mein persönlicher Favorit ist BeyondCompare, das 30 US-Dollar kostet.
quelle
DiffUtils ist wahrscheinlich die beste Wahl . Es ist das Windows-Äquivalent von diff.
Meines Wissens gibt es keine eingebauten Äquivalente.
quelle
Der Grund, warum Sie den Fehler mit COMP erhalten, ist, dass das Dienstprogramm davon ausgeht, dass die zu vergleichenden Dateien dieselbe Größe haben. Um das zu überwinden, können Sie th verwenden
'/n'
Option verwenden, mit der Sie die Anzahl der Zeilen angeben können, die Sie vergleichen möchten. (Sehen Sie sich die von comp unterstützten Optionen an, indem Sie'comp /?'
in die Befehlszeile eingeben . Ihr Befehl würde also folgendermaßen aussehen:Dies sollte Ihr Problem lösen, wenn Sie bei der Verwendung von COMP bleiben möchten. Dies ist jedoch ein Problem für sehr große Dateien.
Obwohl
comp
ist eine Option, aber ich denke, es ist primitiv undFC
eine bessere Option. Sie könnenFORFILES
undFC
zusammen verwenden, um wahrscheinlich ein wirklich gutes Dienstprogramm für den Dateivergleich zu erstellen, wenn Sie häufig eines benötigen.FC wird auf diese Weise für ref verwendet:
Es gibt viele Optionen, die Sie sehen können, wenn Sie
'fc /?'
hoffen, dass dies hilftquelle
Ich habe eine leichte grafische Software für Windows gefunden, die mangels
diff
Befehl nützlich zu sein scheint . Es könnte alle meine Probleme lösen.WinDiff http://www.grigsoft.com/download-windiff.htm
quelle
Das Fenster, das dem Befehl diff entspricht, ist der Befehl fc (File Comapre).
Hier sind die grundlegenden Schritte dazu:
1. Bewahren Sie die beiden Dateien in einem Ordner auf (Beispiel file1.html und file2.html).
2. Starten Sie die Eingabeaufforderung.
3. Geben Sie fc file1Location file2Location ein
Habe ein detailliertes Tutorial dazu gefunden:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
quelle
Ich weiß nicht, ob das folgende Tool genau das ist, was Sie brauchen. Aber ich verwende für bestimmte Dateien gerne ein Online-Tool. Auf diese Weise kann ich es unabhängig vom Betriebssystem verwenden. Hier ist ein Beispiel: diffchecker.com
Aber für meine Bedürfnisse ist GIT das beste Tool, um Änderungen und Protokolle der Dateien meines Projekts zu verfolgen. Wenn Sie in einem Team arbeiten, können Sie ein Repo online auf einem Server von Ihnen haben oder es mit Bitbucket oder Github verwenden.
Hoffe es hilft jemandem.
quelle
Wenn Sie git auf Ihrem Computer installiert haben, können Sie ein git-Terminal öffnen und einfach den Linux-
diff
Befehl wie gewohnt verwenden.quelle