Pagina principala » HOWTO » IT Geek Cum să păstrați fișierele cu același nume în sincronizare

    IT Geek Cum să păstrați fișierele cu același nume în sincronizare

    Ați auzit cel mai probabil despre servicii, cum ar fi Dropbox, care sunt folosite pentru a păstra fișierele sincronizate pe mai multe mașini. Totuși, dacă doriți să efectuați această operațiune pe o singură mașină? Adică păstrați fișierele care au același nume de fișier în sincronizare între mașină, astfel încât atunci când unul dintre fișiere se modifică, toate sunt actualizate.

    Această funcționalitate poate fi destul de utilă, în special pentru dezvoltatori sau administratori de sistem, unde este necesară dublarea fișierelor.

    Cum functioneaza

    Să presupunem că sunteți un dezvoltator de web care, de-a lungul timpului, a pus laolaltă o colecție frumoasă de funcții Javascript pe care o utilizați în toate site-urile pe care le păstrați. Pe măsură ce adăugați sau îmbunătățiți acest fișier Javascript (să îl numim "library.js"), este actualizată numai copia curentă pe care o editați. Aceasta ar însemna, de exemplu, dacă efectuați o remediere sau o îmbunătățire a unei erori, ar trebui să o aplicați manual și pentru fiecare folder al codului sursă al celorlalte site-uri ale dvs..

    Instrumentul nostru încearcă să rezolve problema necesității de a aplica manual fișierul actualizat în fiecare folder sursă. Ce face:

    1. Căutări pentru toate fișierele cu un nume specificat (library.js) într-un director rădăcină specificat (% UserProfile% \ Documents \ Web Sites).
    2. Pentru toate fișierele numite library.js, acesta localizează cel care a fost modificat cel mai recent și notează valoarea hash a fișierului.
    3. Toate celelalte fișiere numite library.js (care nu sunt cea mai recentă copie actualizată) au apoi valoarea lor de hash în comparație cu cele mai recente (determinate în pasul anterior).
    4. Dacă valorile hash ale fișierelor sunt diferite, atunci copia respectivă a library.js este înlocuită cu copia actualizată cel mai recent.

    Deoarece folosim valorile hash pentru a compara fișierele, suntem siguri că toate fișierele înlocuite sunt într-adevăr diferite de copia cea mai recentă. De exemplu, dacă ați executa procesul și s-au efectuat 5 înlocuiri de fișiere, rularea procesului din nou imediat după aceea nu ar face nicio înlocuire, deoarece valorile hash-ului fișierelor sunt acum identice.

    Actualizați la cel mai nou instrument de copiere

    Instrumentul Update to New Tool Tool este o versiune modificată a unui script batch cu același nume (ambele sunt disponibile pentru descărcare folosind link-urile din partea de jos a articolului) care au fost convertite într-un fișier EXE pentru a include Nirsoft-ul necesar Utilitate HashMyFiles. Instrumentul trebuie executat din linia de comandă cu anumiți parametri specificați. Dacă ați rula doar fișierul EXE făcând dublu clic, veți primi un mesaj care indică acest lucru.

    Pentru a utiliza Actualizare la cea mai nouă copie, puteți vizualiza parametrii executând "UpdateToNewestCopy /?" Care afișează următorul dialog:

    Singurii parametri necesari sunt SourceFolder (de exemplu,% UserProfile% \ Documents \ Web Sites) și FileName (library.js). Cu toate acestea, puteți modifica funcționalitatea adăugând comutatoare suplimentare așa cum este descris mai sus.

    Exemple

    Următoarea comandă ar găsi toate fișierele numite "Common.vb" în dosarul "C: \ users \ jfaulkner \ documents \ Code Files", efectuând înlocuirea, dar efectuând o copie de siguranță a copiei actuale înainte de suprascriere imagine de sus pentru acest articol):

    UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Fișiere cod" Common.vb / B

    Următoarea comandă efectuează aceeași acțiune de căutare ca cea de mai sus, însă raportează numai fișierele care ar fi înlocuite și nu efectuează nici o operație de fișier:

    UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Fișiere cod" Common.vb / V

    Să presupunem că există un fișier numit "C: \ Config \ FilesToSearch.txt" cu următorul conținut:

    library.js
    Common.vb

    Următoarea comandă va căuta dosarul meu de documente al utilizatorului curent și va raporta despre orice actualizare a "library.js" și "Common.vb", dar nu va efectua nici o operație de actualizare:

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

    Automatizarea procesului

    Acest proces este un candidat ideal pentru automatizare. Creând o sarcină programată (nu este necesară nicio specializare) cu setările specificate și care rulează zilnic / orar / la fiecare 15 minute (în funcție de cerințele dvs.), puteți păstra fișierele sincronizate în set-it-and-forget-it Modă.

    Descarca

    Actualizați la cel mai nou format executabil modificat pentru copiere

    Actualizați la cele mai noi copiere - fișiere batch sursă (mai multe linii de comandă orientate)