Hjemmeside » hvordan » IT Geek Sådan gemmes filer med samme navn i synkronisering

    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 gemme filer, der har samme filnavn synkroniseret på tværs af maskinen, så når en af ​​filerne ændres, bliver de alle opdateret.

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

    Hvordan det virker

    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"), opdateres kun den nuværende kopi, du redigerer. 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 man manuelt skal anvende den opdaterede fil til hver kildemappe. Hvad det gør:

    1. Søgninger efter alle filer med et angivet navn (library.js) inden for en angivet rodmappe (% UserProfile% \ Documents \ Websites).
    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 er nu identiske.

    Opdater til nyeste kopi værktøj

    Værktøjet Opdater til nyeste kopimaskine er en ændret version af et batch script med samme navn (begge er tilgængelige for download ved hjælp af linkene nederst i artiklen), som er konverteret til en EXE-fil for at inkludere den nødvendige Nirsoft HashMyFiles utility. Værktøjet skal køres fra kommandolinjen med bestemte parametre. Hvis du bare skal køre EXE-filen ved at dobbeltklikke, får du en besked, der angiver dette.

    For at bruge Opdatering til nyeste kopi kan du se parametrene ved at køre "UpdateToNewestCopy /?", Som viser følgende dialog:

    De eneste nødvendige parametre er SourceFolder (f.eks.% UserProfile% \ Documents \ Web Sites) og FileName (library.js). 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 output er det, der producerede øverste billede 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 ville blive udskiftet og ikke rent faktisk 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" med fø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 ikke faktisk udføre nogen 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 påkrævet) med de angivne indstillinger og få det til at køre dagligt / time / hvert 15. minut (afhængigt af dine krav), kan du beholde filer synkroniseret i ægte set-it-and-forget-it mode.

    Hent

    Opdater til nyeste kopi - ændret eksekverbart format

    Opdater til nyeste kopi - kilde-batch-filer (mere kommandolinjeorienteret)