Wiem, że jest podobny post: tutaj .
Próbowałem użyć comp
polecenia, jak wspomniano, ale jeśli mam dwa pliki, jeden z danymi takimi jak „abcd”, a drugi z danymi „abcde”, to po prostu mówi, że pliki mają różne rozmiary. Chciałem wiedzieć, gdzie dokładnie się różnią. W Uniksie prosty diff mówi mi, który wiersz i kolumna, polecenie comp w Windows działa, jeśli mam coś takiego jak „abd” i „abc”. Nie inaczej Jakieś pomysły, które mogę wykorzystać do tego?
284
FC path1\* FC path2\*
porównałby wszystkie pliki w folderachpath1
ipath2
pod warunkiem, że mają one identyczne nazwy. Jeśli istnieją pliki o niezgodnych nazwach, FC zgłosi brakujący plik, ale tylko dla plików pierwszego folderu, które nie są znaleźć w drugim folderze, a nie na odwrót. Aby złapać wszystkie niedopasowania, prawdopodobnie potrzebna byłaby inna technika.files in both directories are diff'd; files in only one directory throw errors.
” Interesujące. Ale z pewnością istnieje program innej firmy równoważny do diff?Cóż, w systemie Windows z radością uruchamiam
diff
i wiele innych narzędzi GNU. Możesz to zrobić z cygwinem , ale ja osobiście wolę GnuWin32, ponieważ jest to znacznie lżejsza instalacja.Tak więc, moja odpowiedź brzmi: ekwiwalent Windowsa
diff
jest niczym innym jakdiff
sobą!źródło
diffutils
. Zobacz cygwin.com/cgi-bin2/…Winmerge ma narzędzie wiersza poleceń, które warto sprawdzić.
Możesz także użyć jego graficznej części, w zależności od potrzeb.
źródło
Inną alternatywą jest pobranie i zainstalowanie git tutaj . Następnie dodaj ścieżkę
Git\bin\
do swojejPATH
zmiennej. To da ci nie tylko różnicę, ale także wiele innych poleceń linux, których możesz używać z wiersza poleceń systemu Windows.Możesz ustawić
PATH
zmienną, klikając prawym przyciskiem myszy Komputer i wybierając Właściwości. Następnie możesz kliknąć Zaawansowane ustawienia systemu po lewej stronie ekranu. W wyskakującym okienku kliknij Zmienne środowiskowe, a następnie dodaj lub zaktualizuj zmienną PATH w zmiennych użytkownika za pomocąGit\bin\
Dokumentacja Git diff
źródło
git...
dostępne pliki wykonywalne z PATH. Co więcej, odpowiedź powinna prawdopodobnie zawierać jedną ważną informację: że musisz uruchomić narzędzie do różnicowania piszącgit diff
, a nie tylkodiff
.diff
FC działa świetnie, w moim przypadku nie było to pomocne, ponieważ chciałem tylko zmienić linie. I FC podaje dodatkowe dane, takie jak nazwa pliku, te same linie i porównanie dwustronne.
ale w moim przypadku chciałem tylko te linie, które się zmieniły i chciałem, aby te linie zostały wyeksportowane do innego pliku, bez żadnych innych nagłówków ani danych.
Użyłem więc „findstr” do porównania pliku:
gdzie :
data.txt.bak
to nazwa starego plikudata.txt
to nazwa nowego plikuDiffResult.txt
zawiera zmienione dane, tj. tylko jedną linię #### 09źródło
fc. fc jest lepszy w obsłudze dużych plików (> 4 GB) niż diff Cygwina.
źródło
Istnieje również Powershell (który jest częścią systemu Windows). To nie jest szybkie, ale elastyczne, oto podstawowe polecenie. Ludzie napisali dla niego różne polecenia cmdlet i skrypty, jeśli potrzebujesz lepszego formatowania.
Nie jest częścią systemu Windows, ale jeśli jesteś programistą w Visual Studio, jest on wyposażony w WinDiff (graficzny)
Ale moim osobistym faworytem jest BeyondCompare, który kosztuje 30 USD.
źródło
DiffUtils jest prawdopodobnie najlepszym wyborem . Jest to Windows diff.
Według mojej wiedzy nie ma wbudowanych odpowiedników.
źródło
Przyczyną tego błędu jest to, że narzędzie zakłada, że porównywane pliki mają ten sam rozmiar. Aby temu zaradzić, możesz skorzystać
'/n'
z opcji, z którą możesz określić liczbę linii, które chcesz porównać. (zobacz opcje obsługiwane przez komp, wpisując'comp /?'
w wierszu poleceń. aby twoje polecenie wyglądało następująco:To powinno rozwiązać twój problem, jeśli chcesz trzymać się COMP. Będzie to jednak problem w przypadku naprawdę dużych plików.
Chociaż
comp
jest to opcja, ale uważam, że jest prymitywna iFC
jest lepszą opcją. możesz użyćFORFILES
iFC
razem, aby prawdopodobnie zrobić naprawdę dobre narzędzie do porównywania plików, jeśli potrzebujesz go często.FC używa się w ten sposób do oznaczenia:
istnieje wiele dostępnych opcji, które można zobaczyć,
'fc /?'
mając nadzieję, że to pomożeźródło
Znalazłem lekkie oprogramowanie graficzne dla systemu Windows, które wydaje się przydatne przy braku
diff
polecenia. To może rozwiązać wszystkie moje problemy.WinDiff http://www.grigsoft.com/download-windiff.htm
źródło
Okna równoważne z poleceniem diff to polecenie fc (File Comapre).
Oto podstawowe kroki, aby to zrobić:
1. Zachowaj dwa pliki w folderze (przykładowy plik1.html i plik2.html)
2. Uruchom wiersz polecenia
3. Wpisz fc plik1Lokalizacja plik2Lokalizacja
Znalazłem szczegółowy samouczek na ten sam temat:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
źródło
Nie wiem, czy poniższe narzędzie jest dokładnie tym, czego potrzebujesz. Ale lubię używać, dla określonych plików, jakiegoś narzędzia online. W ten sposób mogę go używać niezależnie od systemu operacyjnego. Oto przykład: diffchecker.com
Ale według moich potrzeb najlepszym narzędziem do śledzenia zmian i dzienników plików mojego projektu jest GIT. Jeśli pracujesz w zespole, możesz mieć repozytorium online na swoim serwerze lub użyć go z Bitbucket lub Github.
Mam nadzieję, że to komuś pomoże.
źródło
Jeśli zainstalowałeś git na swoim komputerze, możesz otworzyć terminal git i po prostu użyć
diff
polecenia Linux jak zwykle.źródło