Se você já tentou copiar um arquivo bloqueado por outro aplicativo, provavelmente viu uma mensagem de erro semelhante a "O processo não pode acessar o arquivo porque outro processo bloqueou uma parte do arquivo". Então, como você copia mesmo assim?
O que podemos fazer é usar um utilitário de linha de comando chamado HoboCopy que utiliza esse serviço para copiar o arquivo.
Entendendo os pré-requisitos
O HoboCopy e a maioria dos outros utilitários de backup usam dois serviços no Windows e você precisa verificar se esses serviços não estão desativados:
- Cópia de Sombra de Volume
- Provedor de cópias de sombra de software da Microsoft
Eles podem ser deixados como inicialização manual, para que eles não precisem estar em execução o tempo todo. A Hobocopy iniciará os dois serviços automaticamente quando necessário, e o serviço de cópia de sombra de volume será desativado depois de concluído.
Usando o HoboCopy para fazer backup / copiar um único arquivo
A sintaxe é um pouco estranha, porque o HoboCopy é realmente usado para fazer o backup de um conjunto inteiro de pastas. Podemos usá-lo para fazer backup de um único arquivo, passando o argumento filename ao final.
Nota: no Windows Vista, você precisará iniciar um prompt de comando no modo Administrador clicando com o botão direito do mouse no prompt de comando no menu Iniciar e escolhendo Executar como Administrador.
Sintaxe:
hobocopy c:directoryname d:ackupdirectory
Por exemplo, eu quero fazer backup do meu arquivo c: users geek mail outlook.pst para d: backups outlook.pst. Aqui está a sintaxe que eu usaria:
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
Usando o HoboCopy para fazer backup de um diretório inteiro
Uma tarefa muito mais útil seria fazer o backup de toda a minha pasta de usuário, provavelmente em um disco rígido externo, por segurança. Para isso, adicionaremos alguns argumentos de linha de comando.
/cheio | Copie todos os arquivos |
/ skipdenied | Ignore as mensagens de acesso negado devido a erros de permissão. |
/ r | Copie recursivamente |
/ y | Não avisar, apenas copie tudo |
Sintaxe:
hobocopy /full /skipdenied /y /r c:directoryname d:ackupdirectory
Vamos com o mesmo exemplo, eu quero fazer backup de todo o meu diretório de usuários para d: backups, então eu usaria este comando:
hobocopy /full /skipdenied /y /r c:usersgeek d:ackups
Este comando provavelmente levará muito tempo para ser concluído, então você pode querer tirar uma soneca ou algo assim. No final, você deve ter uma cópia quase perfeita do diretório … se houver algum erro de permissão, você será alertado sobre os arquivos que não foram copiados. Realisticamente, qualquer arquivo no diretório do usuário não deve ter esse problema.
Usando o HoboCopy para fazer um backup incremental de uma unidade
O Hobocopy também suporta o backup de arquivos de forma incremental, para que ele apenas copie os arquivos que foram alterados desde o último backup. Isso funciona de maneira semelhante a utilitários como o rsync, exceto que o hobocopy armazena a última data de backup em um arquivo que você precisa especificar na linha de comando.
/ statefile = nome do arquivo | Esse sinalizador especifica o arquivo que contém as últimas informações de backup. |
/ incremental | Copie apenas arquivos que foram alterados desde a última cópia completa. |
Sintaxe:
hobocopy /incremental /statefile=filename /y /r c:directoryname d:ackupdirectory
Exemplo:
hobocopy /incremental /statefile=d:lastbackup.dat /y /r c:usersgeek d:ackups
Na primeira vez que você executar esse comando, será necessário usar / full em vez de / incremental. Caso contrário, você receberá um erro porque o arquivo de estado ainda não foi criado. Depois disso, você pode executar o backup incremental com a opção / incremental.
Essa seria uma excelente maneira de fazer o backup automático de um conjunto de pastas como parte de uma tarefa agendada.
Faça o download do HoboCopy do sourceforge.net