IT Geek: Hvordan lagre filer med samme navn i synkronisering

Innholdsfortegnelse:

IT Geek: Hvordan lagre filer med samme navn i synkronisering
IT Geek: Hvordan lagre filer med samme navn i synkronisering

Video: IT Geek: Hvordan lagre filer med samme navn i synkronisering

Video: IT Geek: Hvordan lagre filer med samme navn i synkronisering
Video: Organiser arbeidsoppgaver du får på epost i Outlook - YouTube 2024, April
Anonim
Du har mest sannsynlig hørt om tjenester, for eksempel Dropbox, som brukes til å holde filer synkronisert på flere maskiner. Men hva om du vil utføre denne operasjonen på en enkelt maskin? Det vil si, behold filer som har samme filnavn synkronisert på tvers av maskinen slik at når en av filene endres, blir de alle oppdatert.
Du har mest sannsynlig hørt om tjenester, for eksempel Dropbox, som brukes til å holde filer synkronisert på flere maskiner. Men hva om du vil utføre denne operasjonen på en enkelt maskin? Det vil si, behold filer som har samme filnavn synkronisert på tvers av maskinen slik at når en av filene endres, blir de alle oppdatert.

Denne funksjonaliteten kan være ganske nyttig, spesielt for utviklere eller systemadministratorer der det noen ganger kreves duplisering av filer.

Hvordan det fungerer

Anta at du er en webutvikler som i løpet av tiden har satt sammen en fin samling av Javascript-funksjoner som du bruker gjennom alle nettstedene du opprettholder. Når du legger til eller forbedrer denne Javascript-filen (la oss kalle det "library.js"), er bare den nåværende kopien du redigerer oppdatert. Dette vil for eksempel bety at hvis du gjør en feilrettelse eller forbedring, må du manuelt bruke den til hver av de andre kildemapsmappen din i tillegg.

Vårt verktøy forsøker å løse problemet med å måtte manuelt søke den oppdaterte filen til hver kildemappe. Hva det gjør:

  1. Søker etter alle filer med et spesifisert navn (library.js) i en spesifisert rotmappe (% UserProfile% Documents Web Sites).
  2. For alle filer kalt library.js, lokaliserer den den som ble modifisert sist, og noterer sin verdi for filen hash.
  3. Alle andre filer med navnet library.js (som ikke er den siste oppdaterte kopien) har da sin fil hash verdi sammenlignet med den siste (bestemt i forrige trinn).
  4. Hvis filens hashverdier er forskjellige, erstattes den respektive kopien av library.js med den sist oppdaterte kopien.

Fordi vi bruker hashverdier for å sammenligne filene, er vi sikre på at eventuelle filer som er erstattet, er faktisk annerledes enn den nyeste kopien. For eksempel, hvis du skulle kjøre prosessen og 5 filutskiftninger ble gjort, kjørte prosessen igjen umiddelbart etterpå, ville det ikke bli gjort noen erstatning siden filen hash-verdiene nå er identiske.

Oppdater til nyeste kopimaskin

Oppdateringsverktøyet til nyeste verktøylinjeverktøyet er en modifisert versjon av et batchskript med samme navn (begge er tilgjengelige for nedlasting ved hjelp av koblingene nederst i artikkelen) som er konvertert til en EXE-fil for å inkludere den nødvendige Nirsoft HashMyFiles verktøy. Verktøyet må kjøres fra kommandolinjen med bestemte parametere. Hvis du bare skulle kjøre EXE-filen ved å dobbeltklikke, vil du få en melding som indikerer dette.

Hvis du vil bruke oppdatering til nyeste kopi, kan du vise parameterne ved å kjøre "UpdateToNewestCopy /?" Som viser følgende dialog:

De eneste nødvendige parametrene er SourceFolder (for eksempel% UserProfile% Documents Web Sites) og FileName (library.js). Du kan imidlertid endre funksjonaliteten ved å legge til flere brytere som beskrevet ovenfor.
De eneste nødvendige parametrene er SourceFolder (for eksempel% UserProfile% Documents Web Sites) og FileName (library.js). Du kan imidlertid endre funksjonaliteten ved å legge til flere brytere som beskrevet ovenfor.

eksempler

Følgende kommando vil finne alle filer som heter "Common.vb" i mappen "C: users jfaulkner documents Code Files", og utfører erstatningen, men sikkerhetskopierer gjeldende kopi før overskriving (denne utgangen er det som produserte topp bilde for denne artikkelen):

UpdateToNewestCopy “C:usersjfaulknerdocumentsCode Files” Common.vb /B

Følgende kommando utfører samme søkehandling som ovenfor, men det rapporteres bare om filer som ville bli erstattet og faktisk ikke utfører noen filoperasjoner:

UpdateToNewestCopy “C:usersjfaulknerdocumentsCode Files” Common.vb /V

Anta at det er en fil med navnet "C: Config FilesToSearch.txt" med følgende innhold:

library.js Common.vb

Følgende kommando vil søke i mappen min dokument av den nåværende brukeren og rapportere om eventuelle oppdateringer til "library.js" og "Common.vb", men vil ikke faktisk utføre noen oppdateringsoperasjoner:

UpdateToNewestCopy “%UserProfile%Documents” “C:ConfigFilesToSearch.txt” /L /V

Automatiserer prosessen

Denne prosessen er en ideell kandidat for automatisering. Ved å opprette en planlagt oppgave (ikke noe spesielt nødvendig) med de angitte innstillingene og ha den kjørt daglig / time / hvert 15. minutt (avhengig av dine krav), kan du beholde filer synkronisert i sann sett-det-og-glem-det mote.

nedlasting

Oppdater til nyeste kopimodifisert kjørbart format

Oppdater til nyeste kopi - kilde-batchfiler (mer kommandolinjeorientert)

Anbefalt: