Dacă ați încercat vreodată să copiați un fișier care este blocat de o altă aplicație, ați văzut probabil un mesaj de eroare similar cu "Procesul nu poate accesa fișierul deoarece un alt proces a blocat o parte din fișier". Deci, cum îl copiați oricum?
Din moment ce XP, Windows a susținut o tehnologie numită Volume Shadow Copy, care este utilizată pentru alimentarea caracteristicilor versiunilor anterioare în Vista, precum și System Restore și backup. Ceea ce face este să faceți un instantaneu temporar al fișierului sau al unității, apoi permiteți unei aplicații să citească din instantaneu chiar și în timp ce alte aplicații accesează sau modifică fișierul.
Ce putem face este să folosiți un utilitar de linie de comandă numit HoboCopy care utilizează acest serviciu pentru a copia fișierul.
Înțelegerea condițiilor prealabile
HoboCopy și cele mai multe alte utilitare de backup utilizează două servicii în Windows și va trebui să verificați dacă aceste servicii nu sunt dezactivate:
Acestea pot fi lăsate ca pornire manuală, astfel încât acestea nu trebuie să fie difuzate tot timpul. Hobocopy va porni automat cele două servicii atunci când este necesar și serviciul Volume Shadow Copy va fi dezactivat după ce a terminat.
Folosind HoboCopy pentru Backup / Copierea unui singur fișier
Sintaxa este un pic ciudat, pentru că HoboCopy este destinat să fie folosit pentru copierea unui întreg set de foldere. Putem să o folosim pentru a salva un singur fișier, trecând la sfârșitul argumentului cu numele fișierului.
Notă: în Windows Vista, va trebui să lansați un prompt de comandă pentru mod de administrator, făcând clic dreapta pe butonul de comandă din meniul Start și selectând Run as Administrator.
Sintaxă:
hobocup c: \ directorname \ d: \ backupdirectory \
De exemplu, vreau să copiez fișierul c: \ users \ geek \ mail \ outlook.pst în d: \ backups \ outlook.pst. Iată sintaxa pe care o folosesc:
C: \> hochetează c: \ users \ geek \ mail \ d: \ backups \ Outlook.pst
HoboCopy (c) 2006 Wangdera Corporation. [email protected]
Pornirea unei copii complete de la c: \ users \ geek \ mail la d: \ backups \
Copiat director
Backupul a fost finalizat cu succes.
Backup a început la 2008-03-09 01:57:28, finalizat la 2008-03-09 01:58:39.
1 fișiere (606,45 MB, 1 directoare) copiate, 7 fișiere ignorate
Folosind HoboCopy pentru a copia un director întreg
O sarcină mult mai utilă ar fi să salvez întregul dosar al utilizatorului, probabil pe un hard disk extern pentru păstrare. Pentru aceasta, vom dori să adăugăm câteva argumente de linie de comandă.
/deplin | Copiați toate fișierele |
/ skipdenied | Ignorați mesajele de acces refuzate din cauza erorilor de permisiune. |
/ r | Copiați recursiv |
/ y | Nu solicitați, copiați totul |
Sintaxă:
hobocopy / full / skipdenied / y / r c: \ directorname \ d: \ backupdirectory \
Să mergem cu același exemplu, vreau să-mi copiez întreaga adresă de utilizator la d: \ backups \, deci aș folosi această comandă:
hobocopy / full / skipdenied / y / r C: \ users \ geek \ d: \ copii de siguranță \
Această comandă va dura probabil mult timp pentru a fi finalizată, deci vă recomandăm să luați un pui de somn sau ceva de genul ăsta. În final, ar trebui să aveți o copie aproape perfectă a directorului ... dacă există erori de permisiune, veți fi alertat la fișierele care nu au fost copiate. În mod realist, orice fișiere din directorul dvs. de utilizatori nu ar trebui să aibă această problemă.
Folosind HoboCopy pentru a crea o copie de siguranță a unei unități
Hobocopy sprijină, de asemenea, backupul fișierelor în mod incremental, astfel încât va copia numai fișierele care s-au schimbat de la ultima copie de rezervă. Acest lucru funcționează în mod similar cu utilitare precum rsync, cu excepția hobocopilor stocând ultima dată de rezervă într-un fișier pe care trebuie să-l specificați pe linia de comandă.
/ Statefile = filename | Acest steag specifică fișierul care conține ultimele informații de rezervă. |
/ incremental | Copiați numai fișierele care s-au modificat de la ultima copie completă. |
Sintaxă:
hobocopy / incremental / statefile = nume fișier / y / r c: \ directorname \ d: \ backupdirectory \
Exemplu:
hobocopy / incremental /statefile=d:\lastbackup.dat / y / r c: \ utilizatori \ geek \ d: \ copii de siguranță \
Prima dată când executați această comandă, va trebui să utilizați / plin în loc de / incremental, altfel veți primi o eroare deoarece fișierul de stare nu a fost încă creat. După aceasta, puteți executa backupul incremental cu ajutorul comutatorului / incrementale.
Aceasta ar fi o modalitate excelentă de a salva automat un set de foldere ca parte a unei sarcini programate.
Descărcați HoboCopy de la sourceforge.net