Hemsida » hur » IT Geek Hur man håller filer med samma namn i synkronisering

    IT Geek Hur man håller filer med samma namn i synkronisering

    Du har sannolikt hört talas om tjänster, till exempel Dropbox, som används för att hålla filer synkroniserade på flera maskiner. Men, om du vill utföra denna operation på en enda maskin? Det vill säga, behåll filer som har samma filnamn synkroniserad över maskinen så att när en av filerna ändras uppdateras de alla.

    Denna funktionalitet kan vara ganska användbar, särskilt för utvecklare eller systemadministratörer där det ofta krävs dubbla filer.

    Hur det fungerar

    Antag att du är en webbutvecklare som i tidens lopp har sammanställt en bra samling av Javascript-funktioner som du använder i alla webbplatser du underhåller. När du lägger till eller förbättrar Javascript-filen (låt oss kalla det "library.js"), uppdateras bara den nuvarande kopia du redigerar. Detta skulle exempelvis innebära att om du gör en buggfix eller förbättring måste du manuellt använda den på alla andra källkodsmappar i din annan webbplats.

    Vårt verktyg försöker lösa problemet med att man manuellt ska tillämpa den uppdaterade filen i varje källkatalog. Vad den gör:

    1. Sökningar efter alla filer med ett angivet namn (library.js) inom en angiven rotmapp (% UserProfile% \ Documents \ Web Sites).
    2. För alla filer som heter library.js, lokaliserar den den som senast ändrades och noterar sitt fil hash-värde.
    3. Alla andra filer som heter library.js (som inte är den senaste uppdaterade kopian) har sedan sitt fil hash-värde jämfört med det senaste (bestämt i föregående steg).
    4. Om filens hashvärden är annorlunda ersätts respektive kopia av library.js med den senast uppdaterade kopian.

    Eftersom vi använder hashvärden för att jämföra filerna är vi säkra på att alla filer som byts ut är verkligen annorlunda än den senaste kopian. Om du till exempel skulle köra processen och 5 filutbyten gjordes, kördes processen igen omedelbart efteråt, skulle det inte bli några ersättningar eftersom filen hash-värden är identiska.

    Uppdatera till det senaste kopieringsverktyget

    Verktyget Uppdatera till nyaste kopieringsverktyg är en modifierad version av ett batch-skript med samma namn (båda är tillgängliga för nedladdning med länkarna längst ner i artikeln) som har konverterats till en EXE-fil för att inkludera Nirsoft HashMyFiles verktyg. Verktyget måste köras från kommandoraden med vissa angivna parametrar. Om du bara skulle köra EXE-filen genom att dubbelklicka, kommer du att få ett meddelande som indikerar detta.

    För att använda Uppdatering till nyaste kopia kan du visa parametrarna genom att köra "UpdateToNewestCopy /?" Som visar följande dialogruta:

    De enda erforderliga parametrarna är SourceFolder (t.ex.% UserProfile% \ Documents \ Web Sites) och FileName (library.js). Du kan dock ändra funktionaliteten genom att lägga till ytterligare omkopplare som beskrivits ovan.

    exempel

    Följande kommando skulle hitta alla filer med namnet "Common.vb" i mappen "C: \ users \ jfaulkner \ documents \ Code Files" och utföra bytet men säkerhetskopiera den aktuella kopian innan den skrivs över (den här utmatningen är den som producerade översta bilden för den här artikeln):

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

    Följande kommando utför samma sökåtgärd som ovan, men det rapporterar bara om filer som skulle ersättas och faktiskt inte utför någon filoperation:

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

    Antag att det finns en fil med namnet "C: \ Config \ FilesToSearch.txt" med följande innehåll:

    library.js
    Common.vb

    Följande kommando skulle söka i min dokumentmapp hos den nuvarande användaren och rapportera om uppdateringar till "library.js" och "Common.vb", men skulle inte faktiskt utföra några uppdateringsoperationer:

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

    Automatiserar processen

    Denna process är en idealisk kandidat för automatisering. Genom att skapa en schemalagd uppgift (inget speciellt krävs) med de angivna inställningarna och få den att köra dagligen / timme / var 15: e minut (beroende på dina krav) kan du hålla filer synkroniserade i sann inställd-och-glöm det mode.

    Ladda ner

    Uppdatera till Nyaste Kopiera - Ändrat körbart format

    Uppdatera till nyaste kopior - källkodsfiler (mer kommandoradsorienterade)