11Aug

IT Geek: Sådan gemmes filer med samme navn i synkronisering

Du har højst sandsynligt hørt om tjenester, som Dropbox, som bruges til at holde filer synkroniseret på tværs af flere maskiner. Men hvad hvis du vil udføre denne operation på en enkelt maskine? Det vil sige at holde filer, der har samme filnavn synkroniseret på tværs af maskinen, sådan at når en af ​​filerne ændres, bliver de alle opdateret.

Denne funktionalitet kan være meget nyttig, især for udviklere eller systemadministratorer, hvor der ofte er brug for duplikering af filer.

Sådan virker det

Antag at du er en webudvikler, der i løbet af tiden har sammensat en flot samling af Javascript-funktioner, som du bruger i alle de websteder, du opretholder. Når du tilføjer eller forbedrer denne Javascript-fil( lad os kalde det "library.js"), er kun den nuværende kopi, du redigerer, opdateret. Dette ville for eksempel betyde, at hvis du foretager en fejlrettelse eller forbedring, skal du manuelt anvende den på hver af dine andre sites kildekode mappe også.

Vores værktøj forsøger at løse problemet med at skulle manuelt anvende den opdaterede fil til hver kildemappe. Hvad det gør:

  1. Søger efter alle filer med et bestemt navn( library.js) inden for en angivet rodmappe( % UserProfile% \ Documents \ Web Sites).
  2. For alle filer, der hedder library.js, lokaliserer den den, der blev ændret senest, og noterer sin fil hash-værdi.
  3. Alle andre filer, der hedder library.js( som ikke er den seneste opdaterede kopi) har derefter deres file hash-værdi sammenlignet med den seneste( bestemt i det foregående trin).
  4. Hvis filen hash værdier er forskellige, erstattes den respektive kopi af library.js med den senest opdaterede kopi.

Fordi vi bruger hashværdier til at sammenligne filerne, er vi sikre på, at eventuelle udskiftede filer er anderledes end den seneste kopi. For eksempel, hvis du skulle køre processen og 5 fil udskiftninger blev lavet, kører processen igen straks efterfølgende, ville ikke foretage nogen udskiftninger, da filen hash værdier nu er identiske.

Opdatering til nyeste kopimaskine

Opdateringen til nyeste kopimaskineværktøj er en ændret version af et batch script med samme navn( begge kan downloades ved hjælp af linkene nederst i artiklen), som er konverteret til en EXE-filfor at inkludere det nødvendige Nirsoft HashMyFiles-hjælpeprogram. Værktøjet skal køres fra kommandolinjen med bestemte parametre. Hvis du skulle bare køre EXE filen ved at dobbeltklikke, får du en besked, der angiver dette.

Hvis du vil bruge opdatering til nyeste kopi, kan du se parametrene ved at køre "UpdateToNewestCopy /?", Der viser følgende dialog:

De eneste nødvendige parametre er SourceFolder( f.eks.% UserProfile% \ Documents \ Web Sites) og FileNameJs).Du kan dog ændre funktionaliteten ved at tilføje yderligere kontakter som beskrevet ovenfor.

Eksempler

Følgende kommando ville finde alle filer med navnet "Common.vb" i mappen "C: \ users \ jfaulkner \ documents \ Code Files" og udføre udskiftningen, men sikkerhedskopiere den aktuelle kopi, før den overskrives( denne udgang erhvad producerede topbilledet til denne artikel):

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

Følgende kommando udfører samme søgning som ovenfor, men det rapporterer kun om filer, som villeerstattes og faktisk ikke udfører nogen filoperationer:

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

Antag, at der er en fil med navnet "C: \ Config \ FilesToSearch.txt" medfølgende indhold:

library.js
Common.vb

Følgende kommando ville søge i min dokumentmappe af den aktuelle bruger og rapportere om eventuelle opdateringer til "library.js" og "Common.vb", men ville faktisk ikke pformater eventuelle opdateringsoperationer:

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

Automatisering af processen

Denne proces er en ideel kandidat til automatisering. Ved at oprette en planlagt opgave( intet specielt nødvendigt) med de angivne indstillinger og få det til at køre dagligt /hourly/ hvert 15. minut( afhængigt af dine krav), kan du beholde filer synkroniseret i ægte set-it-og-forget-it-mode.

Download

Opdatering til nyeste kopi - modificeret eksekverbart format

Opdatering til nyeste kopi - kilde batch filer( mere kommandolinje orienteret)