11Aug

IT Geek: Πώς να διατηρήσετε αρχεία με το ίδιο όνομα στο Sync

Έχετε πιθανότατα ακούσει τις υπηρεσίες, όπως το Dropbox, οι οποίες χρησιμοποιούνται για τη διατήρηση συγχρονισμένων αρχείων σε πολλαπλές μηχανές.Ωστόσο, τι γίνεται αν θέλετε να εκτελέσετε αυτήν τη λειτουργία σε ένα μόνο μηχάνημα;Δηλαδή, κρατήστε τα αρχεία που έχουν το ίδιο όνομα αρχείου συγχρονισμένα σε ολόκληρο το μηχάνημα, έτσι ώστε όταν αλλάξει ένα από τα αρχεία, όλα ενημερώνονται.

Αυτή η λειτουργικότητα μπορεί να είναι πολύ χρήσιμη, ειδικά για προγραμματιστές ή διαχειριστές συστημάτων, όπου απαιτείται επανάληψη αρχείων.

Πώς λειτουργεί

Ας υποθέσουμε ότι είστε web developer που με την πάροδο του χρόνου έχει συγκεντρώσει μια ωραία συλλογή από λειτουργίες Javascript που χρησιμοποιείτε σε όλους τους ιστότοπους που διατηρείτε.Καθώς προσθέτετε ή βελτιώνετε αυτό το αρχείο Javascript( ας το αποκαλούμε "library.js"), ενημερώνεται μόνο το τρέχον αντίγραφο που επεξεργάζεστε.Αυτό θα σήμαινε, για παράδειγμα, εάν κάνετε μια επιδιόρθωση ή βελτίωση ενός σφάλματος, θα πρέπει να το μεταφέρετε με το χέρι σε κάθε φάκελο πηγαίου κώδικα των άλλων δικτυακών τόπων σας.

Το εργαλείο μας προσπαθεί να λύσει το πρόβλημα της ανάγκης χειροκίνητης εφαρμογής του ενημερωμένου αρχείου σε κάθε φάκελο προέλευσης.Τι κάνει:

  1. Αναζητά όλα τα αρχεία με καθορισμένο όνομα( library.js) μέσα σε ένα καθορισμένο ριζικό φάκελο( % UserProfile% \ Documents \ Web Sites).
  2. Για όλα τα αρχεία που ονομάζονται library.js, εντοπίζει εκείνο που τροποποιήθηκε πιο πρόσφατα και σημειώνει την τιμή hash του αρχείου.
  3. Όλα τα άλλα αρχεία που ονομάζονται library.js( τα οποία δεν είναι το πιο πρόσφατο ενημερωμένο αντίγραφο) έχουν στη συνέχεια σύγκριση με την πιο πρόσφατη τιμή του αρχείου κατακερματισμού( που καθορίστηκε στο προηγούμενο βήμα).
  4. Εάν οι τιμές hash των αρχείων είναι διαφορετικές, τότε το αντίστοιχο αντίγραφο του library.js αντικαθίσταται με το πιο πρόσφατα ενημερωμένο αντίγραφο.

Επειδή χρησιμοποιούμε τιμές αντιστάθμισης για να συγκρίνουμε τα αρχεία, είμαστε βέβαιοι ότι όλα τα αντικατασταθέντα αρχεία είναι πράγματι διαφορετικά από το πιο πρόσφατο αντίγραφο.Για παράδειγμα, εάν εκτελέσατε τη διαδικασία και δημιουργήσατε 5 αντικαταστάσεις αρχείων, η εκτέλεση της διαδικασίας ξανά αμέσως μετά δεν θα έκανε καμία αντικατάσταση, αφού οι τιμές αντιστάθμισης αρχείων είναι πλέον ίδιες.

Ενημέρωση στο νεότερο εργαλείο αντιγραφής

Το εργαλείο Ενημέρωση με τα νεώτερα εργαλεία αντιγραφής είναι μια τροποποιημένη έκδοση ενός δέσμης ενεργειών δέσμης με το ίδιο όνομα( και τα δύο είναι διαθέσιμα για λήψη χρησιμοποιώντας τους συνδέσμους στο κάτω μέρος του άρθρου) τα οποία έχουν μετατραπεί σε ένα αρχείο EXEπροκειμένου να συμπεριληφθεί το απαιτούμενο βοηθητικό πρόγραμμα Nirsoft HashMyFiles.Το εργαλείο πρέπει να εκτελείται από τη γραμμή εντολών με ορισμένες καθορισμένες παραμέτρους.Αν έπρεπε να εκτελέσετε το αρχείο EXE κάνοντας διπλό κλικ, θα λάβετε ένα μήνυμα που θα το δηλώνει αυτό.

Για να χρησιμοποιήσετε την Ενημέρωση στην πιο πρόσφατη αντιγραφή, μπορείτε να προβάλετε τις παραμέτρους εκτελώντας το "UpdateToNewestCopy /?" Το οποίο εμφανίζει το ακόλουθο παράθυρο διαλόγου:

Οι μόνο απαιτούμενες παράμετροι είναι ο SourceFolder( π.χ.% UserProfile% \ Documents \ Web Sites).js).Ωστόσο, μπορείτε να αλλάξετε τη λειτουργικότητα προσθέτοντας πρόσθετους διακόπτες όπως περιγράφεται παραπάνω.

Παραδείγματα

Η ακόλουθη εντολή θα βρει όλα τα αρχεία που ονομάζονται "Common.vb" μέσα στο φάκελο "C: \ users \ jfaulkner \ documents \ Code Files", πραγματοποιώντας την αντικατάσταση αλλά πραγματοποιώντας αντίγραφο ασφαλείας του τρέχοντος αντιγράφου πριν την αντικατάστασηαυτό που δημιούργησε την κορυφαία εικόνα αυτού του άρθρου):

UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Code Files" Common.vb / B

Η ακόλουθη εντολή εκτελεί την ίδια ενέργεια αναζήτησης όπως παραπάνω, ωστόσο αναφέρει μόνο αρχεία πουνα αντικατασταθεί και δεν εκτελεί καμία ενέργεια αρχείων:

UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Code Files" Common.vb / V

Ας υποθέσουμε ότι υπάρχει ένα αρχείο με όνομα "C: \ Config \ FilesToSearch.txt"Ακολουθείστε τις ακόλουθες οδηγίες:

library.js
Common.vb

Η ακόλουθη εντολή θα πραγματοποιήσει αναζήτηση στον φάκελο των εγγράφων μου για τον τρέχοντα χρήστη και θα αναφέρει τυχόν ενημερώσεις σε "library.js" και "Common.vb", αλλά στην πραγματικότητα δεν θαΕπεξεργαστείτε τις λειτουργίες ενημέρωσης

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

Αυτοματοποίηση της διαδικασίας

Αυτή η διαδικασία είναι ένας ιδανικός υποψήφιος για αυτοματοποίηση.Δημιουργώντας μια προγραμματισμένη εργασία( τίποτα δεν απαιτείται ειδικά) με τις καθορισμένες ρυθμίσεις και έχοντας την εκτέλεση καθημερινά /hourly/ κάθε 15 λεπτά( ανάλογα με τις απαιτήσεις σας), μπορείτε να κρατήσετε αρχεία συγχρονισμένα σε πραγματικό set-it-and-forget-it μόδα.

Κάντε λήψη της ενημερωμένης έκδοσης

στην πιο πρόσφατη εκτελέσιμη μορφή τροποποιημένου αντιγράφου

Ενημέρωση στα πιο πρόσφατα αρχεία αντιγραφής - πηγαίου κώδικα( περισσότερα στοιχεία γραμμής εντολών)