Sie haben höchstwahrscheinlich von Diensten wie Dropbox gehört, mit denen Dateien auf mehreren Computern synchronisiert werden. Was ist jedoch, wenn Sie diesen Vorgang auf einem einzelnen Computer ausführen möchten? Halten Sie also Dateien mit demselben Dateinamen auf dem Computer synchron, sodass alle Dateien aktualisiert werden, wenn sich eine der Dateien ändert.
Diese Funktionalität kann sehr nützlich sein, insbesondere für Entwickler oder Systemadministratoren, bei denen manchmal eine Duplizierung von Dateien erforderlich ist.
Wie es funktioniert
Angenommen, Sie sind ein Webentwickler, der im Laufe der Zeit eine schöne Sammlung von Javascript-Funktionen zusammengestellt hat, die Sie auf allen von Ihnen gepflegten Websites verwenden. Wenn Sie diese Javascript-Datei hinzufügen oder verbessern (nennen wir sie "library.js"), wird nur die aktuelle Kopie aktualisiert, die Sie bearbeiten. Dies würde beispielsweise bedeuten, dass Sie, wenn Sie eine Fehlerbehebung oder Verbesserung vornehmen, diese manuell auch auf den Quellcodeordner Ihrer anderen Websites anwenden müssen.
Unser Tool versucht, das Problem zu lösen, dass die aktualisierte Datei manuell auf jeden Quellordner angewendet werden muss. Was es macht:
- Sucht nach allen Dateien mit einem angegebenen Namen (library.js) in einem angegebenen Stammordner (% UserProfile% \ Documents \ Web Sites).
- Für alle Dateien mit dem Namen library.js wird die zuletzt geänderte Datei gesucht und der Datei-Hashwert notiert.
- Bei allen anderen Dateien mit dem Namen library.js (bei denen es sich nicht um die zuletzt aktualisierte Kopie handelt) wird der Datei-Hash-Wert mit dem neuesten verglichen (im vorherigen Schritt festgelegt).
- Wenn die Datei-Hash-Werte unterschiedlich sind, wird die entsprechende Kopie von library.js durch die zuletzt aktualisierte Kopie ersetzt.
Weil wir benutzen Hash-Werte Um die Dateien zu vergleichen, können wir sicher sein, dass alle ersetzten Dateien tatsächlich von der neuesten Kopie abweichen. Wenn Sie beispielsweise den Prozess ausführen und 5 Dateiersetzungen vornehmen würden, würde eine sofortige erneute Ausführung des Prozesses keine Ersetzungen bewirken, da die Datei-Hash-Werte jetzt identisch sind.
Update auf das neueste Kopierwerkzeug
Das Tool "Auf neuestes Kopierwerkzeug aktualisieren" ist eine modifizierte Version eines Batch-Skripts mit demselben Namen (beide können über die Links am Ende des Artikels heruntergeladen werden) wurde in eine EXE-Datei konvertiert um die erforderlichen aufzunehmen Dienstprogramm Nirsoft HashMyFiles . Das Tool muss über die Befehlszeile mit bestimmten angegebenen Parametern ausgeführt werden. Wenn Sie die EXE-Datei nur durch Doppelklicken ausführen, wird eine entsprechende Meldung angezeigt.
Um "Auf neueste Kopie aktualisieren" zu verwenden, können Sie die Parameter anzeigen, indem Sie "UpdateToNewestCopy /?" welches den folgenden Dialog zeigt:
Die einzigen erforderlichen Parameter sind der Quellordner (z. B.% UserProfile% \ Documents \ Web Sites) und der Dateiname (library.js). Sie können die Funktionalität jedoch ändern, indem Sie wie oben beschrieben zusätzliche Schalter hinzufügen.
Beispiele
Mit dem folgenden Befehl werden alle Dateien mit dem Namen "Common.vb" im Ordner "C: \ users \ jfaulkner \ documents \ Code Files" gefunden, wobei der Austausch durchgeführt wird, aber vor dem Überschreiben eine Sicherungskopie der aktuellen Kopie erstellt wird (diese Ausgabe hat die erstellt oberes Bild für diesen Artikel):
UpdateToNewestCopy "C: \ Benutzer \ jfaulkner \ Dokumente \ Codedateien" Common.vb / B.
Der folgende Befehl führt dieselbe Suchaktion wie oben aus, meldet jedoch nur Dateien, die ersetzt werden würden, und führt tatsächlich keine Dateivorgänge aus:
UpdateToNewestCopy "C: \ Benutzer \ jfaulkner \ Dokumente \ Codedateien" Common.vb / V.
Angenommen, es gibt eine Datei mit dem Namen "C: \ Config \ FilesToSearch.txt" mit folgendem Inhalt:
library.js
Common.vb
Der folgende Befehl durchsucht den Ordner "Meine Dokumente" des aktuellen Benutzers und meldet Aktualisierungen von "library.js" und "Common.vb", führt jedoch keine Aktualisierungsvorgänge aus:
UpdateToNewestCopy "% UserProfile% \ Documents" "C: \ Config \ FilesToSearch.txt" / L / V.
Prozess automatisieren
Dieser Prozess ist ein idealer Kandidat für die Automatisierung. Durch Erstellen einer geplanten Aufgabe (nichts Besonderes erforderlich) Mit den angegebenen Einstellungen und der täglichen / stündlichen / alle 15 Minuten ausgeführten Ausführung (abhängig von Ihren Anforderungen) können Sie die Synchronisierung von Dateien auf echte Art und Weise synchronisieren.
Herunterladen
Update auf die neueste Kopie - geändertes ausführbares Format
Update auf die neueste Kopie - Quell-Batch-Dateien (mehr Kommandozeilenorientiert)