Hjemmeside » hvordan » Sikkerhetskopiere / kopiere filer som er i bruk eller låst i Windows (kommandolinje)

    Sikkerhetskopiere / kopiere filer som er i bruk eller låst i Windows (kommandolinje)

    Hvis du noen gang har prøvd å kopiere en fil som er låst av et annet program, har du sikkert sett en feilmelding som ligner på "Prosessen kan ikke få tilgang til filen fordi en annen prosess har låst en del av filen". Så hvordan kopierer du det uansett?

    Siden XP har Windows støttet en teknologi som heter Volume Shadow Copy, som brukes til å aktivere funksjonen for tidligere versjoner i Vista, samt Systemgjenoppretting og sikkerhetskopiering. Hva det gjør er å ta et midlertidig øyeblikksbilde av filen eller stasjonen, og la deretter et program lese fra stillbildet, selv om andre applikasjoner får tilgang til eller endrer filen.

    Hva vi kan gjøre er å bruke et kommandolinjeverktøy kalt HoboCopy som bruker denne tjenesten til å kopiere filen.

    Forstå Forutsetningene

    HoboCopy og de fleste andre sikkerhetskopieringsverktøy bruker to tjenester i Windows, og du må kontrollere at disse tjenestene ikke er deaktivert:

    • Volume Shadow Copy
    • Microsoft Software Shadow Copy Provider

    De kan overlates som manuell oppstart, så de trenger ikke å kjøre hele tiden. Hobocopy starter de to tjenestene automatisk når det trengs, og Volum Skyggekopi-tjenesten blir slått av når den er ferdig.

    Bruke HoboCopy til å sikkerhetskopiere / kopiere en enkelt fil

    Syntaxen er litt rar, fordi HoboCopy egentlig er ment å brukes til å sikkerhetskopiere et helt sett med mapper. Vi kan bruke den til å sikkerhetskopiere en enkelt fil ved å sende inn filnavnet argumentet på slutten.

    Merk: I Windows Vista må du starte en administratormodus-kommandoprompt ved å høyreklikke på kommandoprompten på startmenyen og velge Kjør som administrator.

    syntaks:

    hobocopy c: \ directoryname \ d: \ backupdirectory \

    For eksempel vil jeg sikkerhetskopiere min c: \ users \ geek \ mail \ outlook.pst fil til d: \ backups \ outlook.pst. Her er syntaksen som jeg vil bruke:

    C: \> hobocopy c: \ users \ geek \ mail \ d: \ backups \ Outlook.pst

    HoboCopy (c) 2006 Wangdera Corporation. [email protected]

    Starte en full kopi fra c: \ users \ geek \ mail til d: \ backups \
    Kopiert katalog
    Sikkerhetskopiering fullført.
    Backup startet på 2008-03-09 01:57:28, ferdiggjort på 2008-03-09 01:58:39.
    1 filer (606.45 MB, 1 kataloger) kopiert, 7 filer hoppet over

    Bruke HoboCopy til å sikkerhetskopiere en hel katalog

    En mye mer nyttig oppgave ville være å sikkerhetskopiere hele brukermappen min, sannsynligvis til en ekstern harddisk for oppbevaring. For dette vil vi legge til et par kommandolinjearguder.

    /full Kopier alle filer
    / skipdenied Ignorer eventuell tilgang nektet meldinger på grunn av tillatelsesfeil.
    / r Kopier rekursivt
    / y Ikke spør, bare kopier alt

    syntaks:

    hobocopy / full / skipdenied / y / r c: \ katalognavn \ d: \ backupdirectory \

    La oss gå med samme eksempel, jeg vil sikkerhetskopiere hele brukerkatalogen min til d: \ backups \, så jeg vil bruke denne kommandoen:

    hobocopy / full / skipdenied / y / r c: \ users \ geek \ d: \ backups \

    Denne kommandoen vil trolig ta svært lang tid å fullføre, så du vil kanskje ta en lur eller noe. På slutten bør du ha en nesten perfekt kopi av katalogen ... Hvis det er noen tillatelsesfeil, blir du varslet til filer som ikke kopierte. Realistisk må ingen filer i brukerkatalogen ditt ikke ha dette problemet.

    Bruke HoboCopy til å gradvis sikkerhetskopiere en stasjon

    Hobocopy støtter også sikkerhetskopiering av filer inkrementelt, så det vil bare kopiere filene som har endret seg siden den siste sikkerhetskopien. Dette fungerer på samme måte som verktøy som rsync, bortsett fra at hobocopy lagrer siste backupdato i en fil som du må spesifisere på kommandolinjen.

    / Statefile = filnavn Dette flagget angir filen som inneholder den siste sikkerhetskopieringsinformasjonen.
    /trinnvis Bare kopier filer som har endret seg siden siste full kopi.

    syntaks:

    hobocopy / incremental / statefile = filnavn / y / r c: \ directoryname \ d: \ backupdirectory \

    Eksempel:

    hobocopy / incremental /statefile=d:\lastbackup.dat / y / r c: \ users \ geek \ d: \ backups \

    Første gang du kjører denne kommandoen, må du bruke / full i stedet for / inkrementell, ellers får du en feil fordi statens fil ikke er opprettet ennå. Deretter kan du kjøre inkrementell sikkerhetskopiering med / inkremental bryteren.

    Dette ville være en utmerket måte å automatisk sikkerhetskopiere et sett med mapper som en del av en planlagt oppgave.

    Last ned HoboCopy fra sourceforge.net