Czy mogę przesłać zawartość folderu w systemie Windows, aby sprawdzić identyczną zawartość?

1

Chciałbym wiedzieć, czy dwa foldery mają taką samą zawartość 1: 1. Jest tak, ponieważ chciałbym sprawdzić, czy kopia / kopia zapasowa moich folderów jest spójna.

Jak mogę to zrobić? Jak mogę szybko i przyjemnie porównać dwa foldery pod względem zawartości?

użytkownik3784961
źródło

Odpowiedzi:

1

Potrzebujesz narzędzia różnicowego, które może różnicować foldery. Powiedziałbym, że najpopularniejszym dla Windows jest WinMerge .

Jeśli potrzebujesz czegoś, co zadziała z wiersza poleceń, zobacz tę odpowiedź .

Aktualizacja

Bardziej szczegółową odpowiedzią, która jest prawie tak szybka, jak to możliwe, a także bardzo elastyczna, jest użycie wersji wiersza poleceń systemu Cygwin :

diff -r dir1 dir2

Jeśli chcesz użyć buitin, spróbuj COMP :

forfiles /P %folder1Path% /S /C "cmd /c comp /a @path %folder2Path%\@file"

ale ostrzegam cię, że jest bałagan. Po pierwsze, COMP działa tylko na jednym folderze, więc musisz sam poradzić sobie z rekurencją (stąd długa linia). Po drugie wyświetli monit po pierwszym porównaniu.

Aktualizacja 2

Nie polecam tego robić, ponieważ w niektórych sytuacjach będzie to szybsze. W innych również będzie niepoprawny. Ponieważ poprosiłeś o szybszą wersję, możesz także porównać tylko sumę kontrolną md5 plików. Użyjesz do tego Cygwin:

diff <(sort <(md5deep -r /directory/1/) |cut -f1 -d' ') <(sort <(md5deep -r /directory/2/) |cut -f1 -d' ')

Będzie to jednak miało tylko wątpliwą zaletę, ponieważ zostanie uruchomione na maszynie hosta tak czy inaczej, więc nie oszczędzamy przepustowości. Zwiększy to użycie procesora. Jeśli go zepsujesz, możesz utworzyć plik md5 tylko dla plików zapisanych i wykonać różnicę tylko w razie potrzeby.

krowe
źródło
dzięki, ale potrzebuję czegoś szybciej, być może nie porównania 1 na 1.
user3784961
Wersje tego wiersza polecenia działają z maksymalną prędkością systemu (zazwyczaj są to tylko aplikacje jednordzeniowe). WinMerge jest również bardzo szybki, ale nie nadaje się do bezobsługowych różnic.
krowe