11Aug

IT Geek: Wie Sie Dateien mit dem gleichen Namen synchron halten können

click fraud protection

Sie haben wahrscheinlich 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? Das bedeutet, dass Dateien, die den gleichen Dateinamen aufweisen, auf dem Computer synchronisiert werden, sodass bei Änderungen einer Datei alle 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.

So funktioniert es

Angenommen, Sie sind ein Webentwickler, der im Laufe der Zeit eine nette Sammlung von Javascript-Funktionen zusammengestellt hat, die Sie auf allen von Ihnen betreuten Seiten 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 durchführen, diese manuell auf den Quellcodeordner Ihrer anderen Websites anwenden müssen.

instagram viewer

Unser Tool versucht das Problem zu lösen, dass die aktualisierte Datei manuell auf jeden Quellordner angewendet werden muss. Was es tut:

  1. Sucht nach allen Dateien mit einem angegebenen Namen( library.js) innerhalb eines angegebenen Stammordners( % UserProfile% \ Documents \ Web Sites).
  2. Für alle Dateien mit dem Namen library.js wird die Datei gesucht, die zuletzt geändert wurde, und der Datei-Hash-Wert wird notiert.
  3. Alle anderen Dateien mit dem Namen library.js( die nicht die neueste aktualisierte Kopie sind) werden dann mit ihrem Datei-Hash-Wert verglichen mit dem neuesten( im vorherigen Schritt ermittelt) verglichen.
  4. Wenn die Datei-Hash-Werte unterschiedlich sind, wird die entsprechende Kopie von library.js durch die zuletzt aktualisierte Kopie ersetzt.

Da wir Hash-Werte verwenden, um die Dateien zu vergleichen, sind wir sicher, dass alle ersetzten Dateien tatsächlich von der letzten Kopie abweichen. Wenn Sie beispielsweise den Prozess ausführen und 5 Dateiersetzungen vorgenommen wurden, würde das erneute Ausführen des Prozesses unmittelbar danach keine Ersetzungen vornehmen, da die Hashwerte der Datei jetzt identisch sind.

Update auf neuestes Kopierwerkzeug

Das Werkzeug zum Aktualisieren auf neuestes Kopierwerkzeug ist eine modifizierte Version eines Stapel-Skripts mit demselben Namen( beide sind zum Herunterladen über die Links am Ende des Artikels verfügbar), das in eine EXE-Datei konvertiert wurdeum das erforderliche Nirsoft HashMyFiles-Dienstprogramm einzuschließen. Das Tool muss über die Befehlszeile mit bestimmten Parametern ausgeführt werden. Wenn Sie die EXE-Datei einfach per Doppelklick ausführen, erhalten Sie eine entsprechende Meldung.

Um Update auf neueste Kopie zu verwenden, können Sie die Parameter anzeigen, indem Sie "UpdateToNewestCopy /?" Ausführen, das den folgenden Dialog anzeigt:

Die einzigen erforderlichen Parameter sind der SourceFolder( z. B.% UserProfile% \ Documents \ Web Sites) und der FileName( Bibliothek.js).Sie können die Funktionalität jedoch ändern, indem Sie wie oben beschrieben zusätzliche 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, die die Ersetzung ausführen, aber vor dem Überschreiben eine Sicherungskopie der aktuellen Kopie erstellen( diese Ausgabe istWas das oberste Bild für diesen Artikel erzeugt):

UpdateToNewestCopy "C: \ Benutzer \ Jfaulkner \ Dokumente \ Code-Dateien" Common.vb / B

Der folgende Befehl führt die gleiche Suchaktion wie oben, jedoch nur Berichte über Dateien, die würdeersetzt werden und führt keine Dateioperationen aus:

UpdateToNewestCopy "C: \ Benutzer \ Jfaulkner \ Dokumente \ Codedateien" Common.vb / V

Angenommen, es gibt eine Datei mit dem Namen "C: \ Config \ FilesToSearch.txt"Folgender Inhalt:

library.js
Common.vb

Der folgende Befehl durchsucht den Ordner "my documents" des aktuellen Benutzers und meldet Aktualisierungen von "library.js" und "Common.vb", würde aber nicht pDurchführen von Aktualisierungsoperationen:

UpdateToNewestCopy "% UserProfile% \ Dokumente" "C: \ Config \ FilesToSearch.txt" / L / V

Prozessautomatisierung

Dieser Prozess ist ein idealer Kandidat für die Automatisierung. Durch das Erstellen einer geplanten Aufgabe( nichts besonderes erforderlich) mit den angegebenen Einstellungen und die tägliche Ausführung von /hourly/ alle 15 Minuten( je nach Ihren Anforderungen) können Sie Dateien in True-It-and-Forget-It-Art synchronisiert halten.

Update auf neuestes kopieren - modifiziertes ausführbares Format

Update auf neueste Kopie - Quell-Batch-Dateien( mehr Kommandozeilen-orientiert)