If-Koubou

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 (Cum să)

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ă uneori dublarea fișierelor.

Cum functioneaza

Să presupunem că sunteți un dezvoltator de web care, pe parcursul timpului, a pus la punct o colecție frumoasă de funcții Javascript pe care le 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ă aplicați manual aplicația fiecărui folder de cod sursă al altor site-uri.

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 cea mai recentă copie. 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 ale 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 utilizând 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 rezervă 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țiune de fișiere:

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. Prin crearea unei sarcini programate (nimic special necesar) cu setările specificate și având rularea zilnică / oră / 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 de executabil modificat prin copiere

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