Najprawdopodobniej słyszałeś o usługach, takich jak Dropbox, które są używane do synchronizowania plików na wielu komputerach. A co jeśli chcesz wykonać tę operację na jednym komputerze? To znaczy, zachowaj pliki, które mają taką samą nazwę pliku zsynchronizować w maszynie, tak, że gdy jeden z plików ulegnie zmianie, wszystkie są aktualizowane.
Ta funkcja może być całkiem przydatna, szczególnie dla programistów lub administratorów systemu, w których czasami wymagane jest powielanie plików.
Załóżmy, że jesteś programistą internetowym, który z biegiem czasu opracował ładną kolekcję funkcji JavaScript, których używasz we wszystkich obsługiwanych witrynach. Podczas dodawania lub ulepszania tego pliku JavaScript (nazwijmy go "library.js") aktualizowana jest tylko aktualna kopia, którą edytujesz. Oznaczałoby to na przykład, że jeśli poprawisz lub poprawisz błąd, musisz ręcznie zastosować go do każdego z folderów kodu źródłowego innych witryn.
Nasze narzędzie próbuje rozwiązać problem konieczności ręcznego zastosowania zaktualizowanego pliku do każdego folderu źródłowego. Co to robi:
Ponieważ używamy wartości mieszania do porównywania plików, mamy pewność, że wszelkie zastępowane pliki są rzeczywiście inne niż najnowsza kopia. Na przykład, jeśli uruchomiono proces i dokonano 5 wymiany plików, ponowne uruchomienie procesu nie spowodowałoby żadnych zmian, ponieważ wartości skrótów pliku są teraz identyczne.
Narzędzie Aktualizacja do najnowszego narzędzia kopiowania jest zmodyfikowaną wersją skryptu wsadowego o tej samej nazwie (oba są dostępne do pobrania przy użyciu linków na dole artykułu), który został przekonwertowany na plik EXE w celu uwzględnienia wymaganego Nirsoft Narzędzie HashMyFiles. Narzędzie musi zostać uruchomione z wiersza poleceń z określonymi określonymi parametrami. Jeśli chcesz dwukrotnie uruchomić plik EXE, otrzymasz komunikat o tym fakcie.
Aby użyć funkcji Aktualizuj do najnowszej kopii, możesz wyświetlić parametry, uruchamiając "UpdateToNewestCopy /?", Która pokazuje następujące okno dialogowe:
Jedynymi wymaganymi parametrami są SourceFolder (np.% UserProfile% \ Documents \ Web Sites) i FileName (library.js). Można jednak zmienić funkcjonalność, dodając dodatkowe przełączniki, jak opisano powyżej.
Przykłady
Następujące polecenie znajdzie wszystkie pliki o nazwie "Common.vb" w folderze "C: \ users \ jfaulkner \ documents \ Code Files", wykonując zastępstwo, ale wykona kopię zapasową bieżącej kopii przed nadpisaniem (to wyjście jest tym, co wyprodukowało najlepsze zdjęcie do tego artykułu):
UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Code files" Common.vb / B
Następujące polecenie wykonuje to samo działanie wyszukiwania, co powyżej, ale raportuje tylko pliki, które zostałyby zastąpione i faktycznie nie wykonuje żadnych operacji na plikach:
UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Code files" Common.vb / V
Załóżmy, że istnieje plik o nazwie "C: \ Config \ FilesToSearch.txt" o następującej treści:
library.js
Common.vb
Następująca komenda przeszuka mój folder dokumentów bieżącego użytkownika i zgłosi wszelkie aktualizacje do "library.js" i "Common.vb", ale w rzeczywistości nie wykona żadnych operacji aktualizacji:
UpdateToNewestCopy "% UserProfile% \ Documents" "C: \ Config \ FilesToSearch.txt" / L / V
Ten proces jest idealnym kandydatem do automatyzacji. Tworząc zaplanowane zadanie (nic specjalnego) z określonymi ustawieniami i uruchamiając je codziennie / co godzinę / co 15 minut (w zależności od wymagań), można synchronizować pliki w ustawieniach typu "zapamiętaj i zapomnij" moda.
Zaktualizuj do najnowszego Kopiuj - zmodyfikowany format pliku wykonywalnego
Aktualizacja do najnowszej kopii - źródłowe pliki wsadowe (więcej zorientowanych na wiersze poleceń)