Skip to content


hobocopy - копирование файлов, которые используются в данный момент

Оригинальное название статьи - 'Backup/Copy Files that are "In Use" or "Locked" in Windows'.

Если Вы когда-то пробовали скопировать файл, который используется другим приложением, Вы могли видеть сообщение об ошибке типа "The process cannot access the file because another process has locked a portion of the file". Начиная с Windows XP, поддерживается технология Volume Shadow Copy (в русской версии соответствующий сервис называется "Теневое копирование тома"), которая используется для реализации фич Previous versions ("Предыдущие версии") в Vista, System Restore ("Восстановление системы") и бекапов. Суть в том, что создается временный "снимок" файла или раздела, а затем приложению дается возможность чтения этого "снимка", даже если другие приложения читают или даже модифицируют данный файл. Одна из полезных утилит, которая использует технологию Volume Shadow Copy, называется HoboCopy. Для ее работы должен также быть запущен сервис "Microsoft Software Shadow Copy Provider".

Копиривание одного файла
Ситнаксис командной строки:

  1. hobocopy c:\directoryname\ d:\backupdirectory\

Например, если мы хотим скопировать файл c:\users\vasya\mail\outlook.pst в d:\backups\outlook.pst, то команда будет следующая:

  1. C:\>hobocopy c:\users\vasya\mail\ d:\backups\Outlook.pst
  2.  
  3. HoboCopy (c) 2006 Wangdera Corporation. hobocopy@wangdera.com
  4. Starting a full copy from c:\users\vasya\mail to d:\backups\
  5. Copied directory
  6. Backup successfully completed.
  7. Backup started at 2008-03-09 01:57:28, completed at 2008-03-09 01:58:39.
  8. 1 files (606.45 MB, 1 directories) copied, 7 files skipped

Копирование директории
Можно также скопировать сразу всю директорию, в этом случае нужно использовать опции /full, /r (рекурсивное копирование) и /y (не спрашивать подтверждения).

Пример:

  1. hobocopy /full /skipdenied /y /r c:\users\vasya\ d:\backups\

Инкрементальное копирование
А для регулярного копирования целого раздела пригодятся опции /incremental (копировать только файлы, измененные с момента последнего полного копирования) и /statefile (указывается путь к файлу, содержащему служебную информацию о последнем бекапе).

Пример:

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

При первом запуске вместо /incremental следует использовать /full чтобы создался файл состояния.

Утилиту скачать можно здесь.

Posted in Windows.

Tagged with , .


11 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Deberg says

    Не зря посетил Ваш блог, очень познавательно.

  2. Лич says

    А что делать если в чертовом пути (в названиях папок, таких как: Documents and Settings или Local Settings) Есть пробелы? Чертова программа считает пробел началом новой команды!!!!

  3. Admin says

    В кавычки пути брать не пробовали? То есть так:

    hobocopy "c:\documents and settings\" d:\somedir\

  4. efgen says

    Кто сталкивался с такой ошибкой?
    There was a COM failure 0x80042308 - .\HoboCopy.cpp (349)

  5. Nevermind says

    Если hobocopy не видит пробела, то заключите его в кавычки (а не весь путь). Documents" "and" "Settings.

  6. Nevermind says

    блин, кавычки неправильно отобразились, короче обычные)

  7. Ali says

    Ловите пример
    @echo off
    hobocopy /recursive /full /y %windir%\system32\config\ %systemdrive%\Backup\%date%\config\
    hobocopy /y %systemdrive%\Docume~1\%username%\ %systemdrive%\Backup\%date%\%username%\

  8. KIR says

    У меня hobocopy не понимает русские буквы(
    Пытался скопировать файл, который лежал в папке с русскими буквами. Результат:
    There was a COM failure 0x80042308 - HoboCopy.cpp (361)
    А переименовать папку в латинские буквы - нельзя. Придется искать другие аналогичные утилиты.

  9. Артем says

    hobocopy не стартует на winserver 2003 ,окошко сразу пропадает, vcredist установлен(

  10. Admin says

    Артем, тут ничего дельного не подскажу, к сожалению, так как winserver 2003 никогда не использовал в работе.

    Может, здесь что-то полезное найдете.

  11. Артем says

    спасибо. тут на Win7 тоже самое оказывается , не пойму что не так. на хабре немного другой метод)

You must be logged in to post a comment.