Если вы когда-либо пытались скопировать файл, заблокированный другим приложением, вероятно, вы видели сообщение об ошибке, подобное «Процесс не может получить доступ к файлу, потому что другой процесс заблокировал часть файла». Так как же вы его копируете?
Мы можем использовать утилиту командной строки HoboCopy, которая использует эту службу для копирования файла.
Понимание предварительных условий
HoboCopy и большинство других утилит резервного копирования используют две службы в Windows, и вам нужно будет убедиться, что эти службы не отключены:
- Теневая копия тома
- Поставщик теневого копирования программного обеспечения Microsoft
Их можно оставить как ручной запуск, поэтому им не нужно постоянно работать. Hobocopy автоматически запустит эти две службы, и служба теневого копирования тома будет отключена после ее завершения.
Использование HoboCopy для резервного копирования / копирования одного файла
Синтаксис немного странный, потому что HoboCopy действительно предназначен для резервного копирования всего набора папок. Мы можем использовать его для резервного копирования одного файла, передав в конце аргумент имени файла.
Примечание. В Windows Vista вам нужно будет запустить командную строку режима администратора, щелкнув правой кнопкой мыши в командной строке в меню «Пуск» и выбрав «Запуск от имени администратора».
Синтаксис:
hobocopy c:directoryname d:ackupdirectory
Например, я хочу создать резервную копию моего файла c: users geek mail outlook.pst для d: backups outlook.pst. Вот синтаксис, который я бы использовал:
C:> hobocopy c:usersgeekmail d:ackups Outlook.pst
HoboCopy (c) 2006 Wangdera Corporation. [email protected]
Starting a full copy from c:usersgeekmail to d:ackups Copied directory Backup successfully completed. Backup started at 2008-03-09 01:57:28, completed at 2008-03-09 01:58:39. 1 files (606.45 MB, 1 directories) copied, 7 files skipped
Использование HoboCopy для резервного копирования всей директории
Гораздо более полезной задачей будет резервное копирование всей папки пользователя, возможно, на внешний жесткий диск для хранения. Для этого нам нужно добавить пару аргументов командной строки.
/полный | Скопировать все файлы |
/ skipdenied | Игнорировать любые сообщения об отказе в доступе из-за ошибок разрешений. |
/р | Копировать рекурсивно |
/ у | Не подскажите, просто скопируйте все |
Синтаксис:
hobocopy /full /skipdenied /y /r c:directoryname d:ackupdirectory
Пойдем с тем же примером, я хочу сделать резервную копию всего каталога пользователя в d: backups, поэтому я бы воспользовался этой командой:
hobocopy /full /skipdenied /y /r c:usersgeek d:ackups
Эта команда, вероятно, займет очень много времени, поэтому вам может потребоваться сон или что-то в этом роде. В конце вы должны иметь почти идеальную копию каталога … если есть какие-либо ошибки разрешения, вы будете предупреждены о файлах, которые не копировались. Реально какие-либо файлы в вашем каталоге пользователей не должны иметь этой проблемы.
Использование HoboCopy для инкрементного резервного копирования диска
Hobocopy также поддерживает резервное копирование файлов постепенно, поэтому он копирует только те файлы, которые были изменены с момента последней резервной копии. Это работает аналогично утилитам, таким как rsync, кроме hobocopy хранит последнюю дату резервного копирования в файле, который необходимо указать в командной строке.
/ Statefile = имя_файла | Этот флаг указывает файл, содержащий последнюю информацию о резервном копировании. |
/ инкрементный | Скопируйте только те файлы, которые были изменены с момента последней полной копии. |
Синтаксис:
hobocopy /incremental /statefile=filename /y /r c:directoryname d:ackupdirectory
Пример:
hobocopy /incremental /statefile=d:lastbackup.dat /y /r c:usersgeek d:ackups
При первом запуске этой команды вам нужно будет использовать / full вместо / incremental, иначе вы получите сообщение об ошибке, поскольку файл состояния еще не создан. После этого вы можете запустить инкрементную резервную копию с помощью / incremental switch.
Это было бы отличным способом автоматического резервного копирования набора папок в рамках запланированной задачи.
Загрузить HoboCopy с сайта sourceforge.net