A ferramenta Robocopy (Robust File Copy) é um utilitário de linha de comando do Windows usado para copiar arquivos e pastas com mais controle e eficiência do que o comando tradicional copy
ou xcopy
. Ela é muito usada em backups, sincronizações, migrações de dados e automações.
✅ Principais Vantagens do Robocopy
- Copia somente arquivos alterados (backup incremental).
- Lida com interrupções sem perder o progresso.
- Copia atributos, permissões NTFS, timestamps, etc.
- Pode copiar arquivos muito grandes e um grande número de arquivos com eficiência.
- Funciona bem para espelhamento de pastas.
📌 Sintaxe básica
bashCopiarEditarrobocopy [origem] [destino] [opções]
🧪 Exemplo básico:
bashCopiarEditarrobocopy C:\Origem D:\Backup
Copia todos os arquivos da pasta C:\Origem
para D:\Backup
.
🔧 Opções mais úteis
Opção | O que faz |
---|---|
/E | Copia subpastas, incluindo vazias |
/MIR | Espelha a estrutura da pasta origem no destino (atenção: apaga no destino) |
/Z | Modo reiniciável (útil para cópias grandes e instáveis) |
/R:n | Define o número de tentativas em caso de falha (padrão: 1 milhão!) |
/W:n | Espera n segundos entre tentativas (padrão: 30) |
/LOG:arquivo.txt | Salva o log da operação |
/MT[:n] | Ativa multithread (mais rápido). n = número de threads (ex: 8, 16, 32) |
🧩 Exemplo completo:
bashCopiarEditarrobocopy C:\Origem D:\Backup /E /Z /MT:8 /R:3 /W:5 /LOG:backup_log.txt
- Copia todas as subpastas (inclusive vazias)
- Usa multithread com 8 threads
- Tenta 3 vezes em caso de erro, esperando 5 segundos entre cada
- Gera um log da operação
⚠️ Cuidado com:
/MIR
→ Remove arquivos do destino que não existem mais na origem.- Robocopy não copia arquivos bloqueados ou em uso, a não ser que você use Volume Shadow Copy (requer soluções mais avançadas).
script de backup automático com Robocopy, incluindo:
- Backup completo com subpastas
- Evita copiar arquivos repetidos
- Gera log com data e hora
- Pode ser agendado no Agendador de Tarefas do Windows
🛠️ Script de Backup com Robocopy (Salvar como .bat)
Você pode copiar esse conteúdo e salvar como um arquivo .bat
(por exemplo: backup_automático.bat
):
batCopiarEditar@echo off
setlocal
:: === CONFIGURAÇÕES ===
set ORIGEM=C:\MeusArquivos
set DESTINO=D:\Backup
set LOGDIR=D:\Backup\logs
:: === CRIA PASTA DE LOG SE NÃO EXISTIR ===
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
:: === GERAÇÃO DE DATA PARA O LOG ===
set DATA=%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%%time:~3,2%
set DATA=%DATA: =0%
set LOG=%LOGDIR%\backup_%DATA%.txt
:: === COMANDO ROBOCOPY ===
robocopy "%ORIGEM%" "%DESTINO%" /E /Z /MT:8 /R:3 /W:5 /LOG:"%LOG%" /TEE
:: === FIM ===
echo Backup concluído em %DATE% %TIME%
pause
endlocal
🔍 O que ele faz?
ORIGEM
: pasta onde estão os arquivos originais.DESTINO
: onde será feito o backup.LOGDIR
: pasta onde os logs serão salvos.- Gera logs com a data/hora no nome (ex:
backup_2025-05-14_0900.txt
). - Usa
/MT:8
para copiar com 8 threads (mais rápido). /TEE
mostra o log na tela e salva ao mesmo tempo.
📅 Agendar execução automática
- Abra o Agendador de Tarefas no Windows (
taskschd.msc
) - Clique em Criar Tarefa Básica
- Dê um nome como “Backup Robocopy”
- Escolha a frequência (diariamente, ao iniciar o PC, etc.)
- Em “Ação”, escolha Iniciar um programa
- Aponte para o seu arquivo
.bat
- Conclua e salve
Backup para pasta de Nuvem
Você quer adaptar o script do Robocopy para fazer backup direto em uma pasta da nuvem como:
- 📁 Google Drive (via app de sincronização)
- 📁 OneDrive
- 📁 Dropbox
Todos esses serviços criam uma pasta local sincronizada com a nuvem. O Robocopy pode copiar arquivos diretamente para essa pasta — e ela será automaticamente sincronizada com a nuvem.
✅ Exemplo: Backup para Google Drive (ou OneDrive, Dropbox)
🔧 Pré-requisitos:
- Instale e configure o app oficial do Google Drive, OneDrive ou Dropbox no seu PC.
- Descubra o caminho da pasta sincronizada, por exemplo:
- Google Drive:
C:\Usuários\SeuNome\Google Drive
- OneDrive:
C:\Usuários\SeuNome\OneDrive
- Dropbox:
C:\Usuários\SeuNome\Dropbox
- Google Drive:
🛠️ Script adaptado (salve como backup_nuvem.bat
):
batCopiarEditar@echo off
setlocal
:: === CONFIGURAÇÕES ===
set ORIGEM=C:\MeusArquivos
set DESTINO="C:\Usuários\SeuNome\Google Drive\Backup"
set LOGDIR="C:\Usuários\SeuNome\Google Drive\Backup\logs"
:: === CRIA PASTA DE LOG SE NÃO EXISTIR ===
if not exist %LOGDIR% mkdir %LOGDIR%
:: === DATA PARA O LOG ===
set DATA=%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%%time:~3,2%
set DATA=%DATA: =0%
set LOG=%LOGDIR%\backup_%DATA%.txt
:: === COMANDO ROBOCOPY ===
robocopy "%ORIGEM%" %DESTINO% /E /Z /MT:8 /R:3 /W:5 /LOG:"%LOG%" /TEE
:: === FIM ===
echo Backup concluído e enviado para a nuvem.
pause
endlocal
🔁 O que ele faz:
- Copia tudo da pasta
C:\MeusArquivos
para uma subpasta “Backup” na sua pasta do Google Drive. - Cria logs dentro da mesma pasta.
- Após o backup, o Google Drive sincroniza automaticamente os arquivos com a nuvem.
⚙️ Como adaptar:
- Para OneDrive: substitua
Google Drive
porOneDrive
- Para Dropbox: substitua o caminho da pasta
Dropbox