11Aug

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

Ați auzit cel mai probabil de servicii, cum ar fi Dropbox, care sunt folosite pentru a păstra sincronizarea fișierelor pe mai multe mașini. Cu toate acestea, 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 duplicarea fișierelor.

Cum funcționează

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 o utilizați în toate site-urile pe care le mențineți. Pe măsură ce adăugați sau îmbunătățiți acest fișier Javascript( să o 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 altor site-uri.

Instrumentul nostru încearcă să rezolve problema de a aplica manual fișierul actualizat în fiecare director 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-ului 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 ați făcut 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. Actualizarea

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 EXEpentru a include utilitarul Nirsoft HashMyFiles necesar. 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 Update to New Copy, puteți vizualiza parametrii executând "UpdateToNewestCopy /?" Care arată următorul dialog:

Singurul parametru necesar este SourceFolder( de exemplu,% UserProfile% \ Documents \ Web Sites) și FileNamejs).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 suprascriereceea ce a produs imaginea de sus pentru acest articol):

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

Următoarea comandă efectuează aceeași acțiune de căutare ca mai sus, dar raportează doar fișierelefi înlocuit și nu efectuează nici o operațiune de fișier:

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

Să presupunem că există un fișier numit "C: \ Config \ FilesToSearch.txt"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 ar fi de fapt perdate orice operațiuni 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 având rularea zilnică /hourly/ la fiecare 15 minute( în funcție de cerințele dvs.), puteți păstra fișierele sincronizate în mod real set-it-and-forget-it.

Descărcați actualizarea

la noul format

executabil modificat pentru copiereActualizare

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