If-Koubou

Архивиране / копиране на файлове, които са "в употреба" или "Заключени" в Windows (команден ред)

Архивиране / копиране на файлове, които са "в употреба" или "Заключени" в Windows (команден ред) (Как да)

Ако някога сте опитвали да копирате файл, който е заключен от друго приложение, вероятно сте виждали съобщение за грешка, подобно на "Процесът не може да има достъп до файла, защото друг процес е заключил част от него". Така че как да го копирате така или иначе?

От XP, Windows поддържа технология, наречена Volume Shadow Copy, която се използва за захранване на предишните версии във Vista, както и за System Restore и архивиране. Това, което прави, е да направите временна снимка на файла или устройството и след това да позволите на приложението да чете от моментната снимка дори когато други приложения осъществяват достъп или модифициране на файла.

Това, което можем да направим, е да използваме помощната програма за команден ред наречена HoboCopy, която използва тази услуга, за да копира файла.

Разбиране на предпоставките

HoboCopy и повечето други помощни програми за резервно копиране използват две услуги в Windows и ще трябва да проверите дали тези услуги не са деактивирани:

  • Сянково копие на тома
  • Доставчик на софтуер за сянково копие на Microsoft

Те могат да бъдат оставени като ръчно стартиране, така че не е нужно да работят през цялото време. Hobocopy ще стартира двете услуги автоматично, когато е необходимо, и услугата Volume Shadow Copy ще бъде изключена, след като е приключила.

Използване на HoboCopy за архивиране / копиране на един файл

Синтаксисът е малко странно, защото HoboCopy наистина е предназначен да се използва за архивиране на цял набор от папки. Можем да го използваме, за да архивираме един файл, като подадем аргумента за името на файла в края.

Забележка: В Windows Vista ще трябва да стартирате командния ред на администраторския режим, като щракнете с десния бутон върху командния ред в стартовото меню и изберете Run as Administrator.

Синтаксис:

hobocopy c: \ директория \ d: \ backupdirectory \

Например, искам да архивирам файла c: \ users \ geek \ mail \ outlook.pst на d: \ backups \ outlook.pst. Ето синтаксиса, който бих използвал:

C: \ hobocopy c: \ users \ geek \ mail \ d: \ архивиране \ Outlook.pst

HoboCopy (в) 2006 г. Вандерда Корпорейшън. [email protected]

Стартиране на пълно копие от c: \ users \ geek \ mail до d: \ backups \
Копирана директория
Архивирането завърши успешно.
Архивирането е започнало на 2008-03-09 01:57:28, завършено на 2008-03-09 01:58:39.
Изтеглени са 1 файла (606.45 МБ, 1 директория), прескочени са 7 файла

Използване на HoboCopy за архивиране на цяла директория

Много по-полезна е задачата да архивирам цялата ми потребителска папка, вероятно на външен твърд диск за съхранение. За това ще искаме да добавим няколко аргумента от командния ред.

/ пълен Копирайте всички файлове
/ skipdenied Игнорирайте всички съобщения, за които е отказано достъп, поради грешки в разрешенията.
/ г Копирайте рекурсивно
/ г Не подканяйте, просто копирайте всичко

Синтаксис:

hobocopy / пълен / пропуснат / y / r c: \ directoryname \ d: \ backupdirectory \

Нека да отидем със същия пример, искам да архивирам цялата ми потребителска директория до d: \ backups \, затова бих използвала тази команда:

hobocopy / пълен / пропуснат / y / r c: \ users \ geek \ d: \ архиви \

Тази команда вероятно ще отнеме много време, за да завършите, така че може да искате да вземете дрямка или нещо подобно. В края на краищата трябва да имате почти съвършено копие на директорията ... ако има някакви грешки в разрешението, ще бъдете предупредени за файлове, които не са копирани. Реалистично всички файлове в потребителската ви директория не трябва да имат този проблем.

Използване на HoboCopy за по - задълбочено създаване на резервно копие на устройство

Hobocopy също поддържа архивиране на файлове постепенно, така че ще копира само файловете, които са се променили от последния архив. Това работи подобно на комунални услуги като rsync, с изключение на hobocopy съхранява последната дата на архивиране във файл, който трябва да посочите на командния ред.

/ Statefile = име Този флаг определя файла, който съдържа последната информация за архивиране.
/ частичното Копирайте само файлове, които са се променили от последното пълно копие.

Синтаксис:

hobocopy / инкрементален / statefile = име на файл / y / r c: \ directoryname \ d: \ backupdirectory \

Пример:

hobocopy / инкрементално / statefile=d:\lastbackup.dat / y / r c: \ users \ geek \ d: \ архиви \

Първият път, когато стартирате тази команда, ще трябва да използвате / full вместо / incremental или пък ще получите грешка, защото държавният файл все още не е създаден. След това можете да стартирате допълнителното архивиране с / incremental switch.

Това би било отличен начин за автоматично архивиране на набор от папки като част от насрочена задача.

Изтеглете HoboCopy от sourceforge.net