Hemsida » Hur » Spegla automatiskt filer i Windows till en nätverksenhet med Robocopy

    Spegla automatiskt filer i Windows till en nätverksenhet med Robocopy

    Mitt hem har många datorer och många skärmar, men bara ett centralt bibliotek med foton, musik och videor. Min huvudsakliga dator lagrar alla mina multimedia (och säkerhetskopiorna). Men snarare än att hålla min huvuddator hela tiden (det är ett kraftigt hungrig mittstorn) speglar jag mina foton och videoklipp till en nätverksenhet som är ansluten till min router. Ursprungligen använde jag SyncToy för att hålla mitt huvudsakliga multimediabibliotek synkroniserat med nätverksdriftsbiblioteket. Men för oförklarliga skäl har SyncToy kört oerhört långsamt ända sedan jag uppgraderade till Windows 7 och Windows 8. Eftersom Microsoft slutade stödja SyncToy för ungefär fyra år sedan är det osannolikt att det kommer att lösas. Så jag har började använda Robocopy istället. Och så långt fungerar det bra.

    Jag kan synkronisera ett mapppar som består av mitt huvudfotobibliotek och en mapp på min nätverksenhet. Och som med SyncToy kommer Robocopy också ta bort filer på nätverksenheten som inte längre finns i min samling. Bäst av allt är Robocopy gratis (det kommer inbyggt i Windows).

    Som en snabb sida vill jag notera att jag försökte FreeFileSync som ett alternativ till SyncToy. Bortsett från att det inte fungerade särskilt bra, kom FreeFileSync med en otrolig adware verktygsfält som var en absolut smärta att avinstallera. Använd inte FreeFileSync.

    Robocopy är ett kommandoradsverktyg. För att spegla en mapp till en annan mapp (i mitt fall, mappen på min nätverksenhet), använd följande växlar:

    Robocopy source_directory target_directory / MIR

    Byta ut source_directory och target_directory med lämpliga mappvägar. Observera att du måste vikla det i citat om det finns mellanslag i mappbanan.

    Det är det grundläggande kommandot du behöver. Det har bara en strömbrytare: / MIR. / MIR är en kombination av / e och / purge switcharna, som gemensamt kopierar alla underkataloger (inklusive tomma underkataloger) och raderar filer och kataloger som inte längre existerar i källkatalogen. / MIR skriver också över säkerhetssäkerhetsinställningarna i katalogen (till skillnad från / e) om katalogen redan existerar.

    Skriv bara ovanstående kommando i cmd.exe för att få det att hända.

    Framstegen i filkopian visas i kommandofönstret. Efteråt får du en sammanfattning av de överförda filerna. Här ser du att 2 filer har kopierats och 1 raderades eftersom det inte fanns i källkatalogen. Endast 1 katalog kopierades eftersom den andra katalogen var roten, som redan existerade.

    För att rädda dig själv med problem att skriva in varje gång du importerar foton till ditt bibliotek kan du kopiera och klistra in kommandot i anteckningsblocket och spara det med .fladdermus förlängning.

    Sedan behöver du bara dubbelklicka på det för att köra det.

    Med en batchfil kan du också automatisera den för att köra en gång i veckan, dagligen etc. liknande mitt tidigare tips om hur du automatiskt vaknar och sover datorn med hjälp av Windows Task Scheduler. Bara dela ut wake.bat och sleep.bat för mirror.bat.

    Andra omkopplare och tweaks

    Det finns två andra omkopplare jag använder med min Robocopy-spegelbatchfil. Den första är / z-omkopplaren. Detta möjliggör omstartsläge, vilket låter dig återuppta en stor överföring om den har avbrutits. Med stora filmfiler kan det här vara användbart. Men med nätverksenheter sänker det sakerna lite.

    Den andra jag använder är / LOG. Detta skriver överföringsstatus till en loggfil, snarare än att visa den i kommandotolken. Det här är praktiskt när överföringen går automatiskt när jag är borta, så jag kan gå tillbaka och se den. Jag sparar loggen i min Dropbox-mapp så jag kan visa den från min telefon eller en annan dator för att se om överföringen inträffade.

    Min hela batchfil ser så här ut:

    robocopy "E: \ Storage \ Photos and Videos" "Z: \ foton och videoklipp" / MIR / Z / LOG :mirror.log

    Slutsats

    Totalt har Robocopy arbetat bra för mig. Det håller mina filer synkroniserade så att de är tillgängliga för alla enheter på mitt nätverk. Och det verkar vara betydligt snabbare än SyncToy. Vanligtvis synkroniserar jag genast när jag gör en import, men om jag glömmer, kör den en gång om dagen klockan 5:00 (vilket är ca 15 minuter innan jag sätter mig på min dator först på morgonen).

    Detta kommer också att fungera mycket bättre för dig om du använder en katalog för dina foton och videoklipp. Om du har flera kataloger kan sakerna bli lite mer komplexa. Men det kan vara lika enkelt som att köra flera Robocopy-kommandon (en för varje mapppar för att fortsätta synkronisera).

    Vad använder du för att spegla filer till din nätverksenhet? Låt oss veta i kommentarerna!