IT-Geek So halten Sie Dateien mit demselben Namen synchron
Sie haben höchstwahrscheinlich von Services wie Dropbox gehört, mit denen Dateien auf mehreren Computern synchron gehalten werden. Was ist jedoch, wenn Sie diesen Vorgang auf einer einzelnen Maschine durchführen möchten? Halten Sie also Dateien, die denselben Dateinamen haben, über den Computer hinweg synchron, so dass alle Dateien, wenn sich eine der Dateien ändert, aktualisiert werden.
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 verwalteten Websites verwenden. Wenn Sie diese Javascript-Datei hinzufügen oder verbessern (nennen wir "library.js"), wird nur die aktuell bearbeitete Kopie aktualisiert. Dies würde zum Beispiel bedeuten, wenn Sie einen Bugfix oder eine Verbesserung vornehmen, müssen Sie ihn auch manuell auf jeden Quellcode-Ordner Ihrer anderen Sites anwenden.
Unser Tool versucht, das Problem zu lösen, dass die aktualisierte Datei manuell auf jeden Quellordner angewendet werden muss. Was es macht:
- Sucht alle Dateien mit einem angegebenen Namen (library.js) innerhalb eines angegebenen Stammordners (% UserProfile% \ Documents \ Web Sites).
- Bei allen Dateien mit dem Namen "library.js" wird nach der Datei gesucht, die zuletzt geändert wurde, und der zugehörige Hashwert für die Datei wird angegeben.
- Bei allen anderen Dateien mit dem Namen "library.js" (bei denen es sich nicht um die zuletzt aktualisierte Kopie handelt) wird dann der Hashwert der Datei mit dem neuesten verglichen (im vorherigen Schritt festgelegt)..
- Wenn die Datei-Hashwerte unterschiedlich sind, wird die entsprechende Kopie von library.js durch die zuletzt aktualisierte Kopie ersetzt.
Da wir zum Vergleichen der Dateien Hashwerte verwenden, können wir sicher sein, dass die ersetzten Dateien sich tatsächlich von der neuesten Kopie unterscheiden. Wenn Sie zum Beispiel den Prozess ausführen und 5 Dateien ersetzen würden, würde eine sofortige erneute Ausführung des Prozesses keine Ersetzungen bewirken, da die Datei-Hashwerte jetzt identisch sind.
Update auf das neueste Kopierwerkzeug
Das Update to latest Copy Tool-Tool ist eine modifizierte Version eines Batch-Skripts mit demselben Namen (beide stehen über die Links am Ende des Artikels zum Download bereit), das in eine EXE-Datei konvertiert wurde, um das erforderliche Nirsoft einzubinden HashMyFiles-Dienstprogramm. Das Tool muss von der Befehlszeile aus mit bestimmten Parametern ausgeführt werden. Wenn Sie die EXE-Datei einfach per Doppelklick ausführen, wird eine entsprechende Meldung angezeigt.
Um Update to Latest Copy zu verwenden, können Sie die Parameter anzeigen, indem Sie "UpdateToNewestCopy /?" Ausführen, in dem das folgende Dialogfeld angezeigt wird:
Die einzigen erforderlichen Parameter sind der SourceFolder (z. B.% UserProfile% \ Documents \ Web Sites) und der Dateiname (library.js). Sie können die Funktionalität jedoch ändern, indem Sie wie oben beschrieben weitere Schalter hinzufügen.
Beispiele
Der folgende Befehl würde alle Dateien mit dem Namen "Common.vb" im Ordner "C: \ users \ jfaulkner \ documents \ Code Files" finden. Er wird ersetzt, aber vor dem Überschreiben wird eine Sicherungskopie der aktuellen Kopie erstellt Bild oben für diesen Artikel):
UpdateToNewestCopy "C: \ Benutzer \ jfaulkner \ documents \ Code Files" Common.vb / B
Der folgende Befehl führt dieselbe Suchaktion wie oben aus. Er berichtet jedoch nur über Dateien, die ersetzt werden würden, und führt keine Dateivorgänge aus:
UpdateToNewestCopy "C: \ Benutzer \ jfaulkner \ documents \ Code Files" 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 alle 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. Wenn Sie eine geplante Aufgabe (keine besonderen Anforderungen) mit den angegebenen Einstellungen erstellen und diese täglich / stündlich / alle 15 Minuten (je nach Ihren Anforderungen) ausführen, können Sie die Dateien in echtem Set-it-and-forget-it synchronisieren Mode.
Herunterladen
Update auf neueste Kopie - geändertes ausführbares Format
Update auf neueste Kopie - Quell-Batchdateien (eher kommandozeilenorientiert)