Olá! Transferir arquivos usando o Prompt de Comando (CMD) e o PowerShell no Windows é essencial para automatizar tarefas, mover grandes volumes de dados ou trabalhar em ambientes de servidor sem interface gráfica.
Embora existam vários comandos, o XCOPY e, mais modernamente, o ROBOCOPY (no CMD/PowerShell) são as ferramentas ideais para cópia e transferência de diretórios completos.
1. Usando o Robocopy (Robust File Copy)
O Robocopy é o comando mais robusto e preferido para cópia no Windows. Ele é projetado para lidar com interrupções, suportar nomes longos e copiar permissões e atributos de forma eficiente. Funciona nativamente tanto no CMD quanto no PowerShell.
A. Sintaxe Básica
Bash
robocopy "Origem" "Destino" [Arquivo(s)] [Opções]
B. Exemplos de Uso
| Tarefa | Comando Robocopy | Explicação |
| Copiar Arquivos | robocopy C:\Dados D:\Backup Arquivo1.txt | Copia apenas o Arquivo1.txt de C: para D:. |
| Copiar Diretório | robocopy C:\Projetos D:\Backup /E | Copia o diretório Projetos e seus subdiretórios, incluindo os vazios (/E). |
| Transferência Espelhada | robocopy C:\Origem D:\Destino /MIR | Espelha o diretório. Copia novos arquivos e exclui arquivos no destino que não existem mais na origem. |
| Monitorar | robocopy C:\Dados D:\Backup /E /MON:1 | Monitora a origem e copia os arquivos que mudaram após 1 minuto (/MON:1). |
| Modo Silencioso | robocopy C:\Dados D:\Backup /E /NFL /NDL | Copia sem listar arquivos (/NFL) ou diretórios (/NDL) na tela (útil para scripts). |
2. Usando o Xcopy (Extended Copy)
O XCOPY é mais antigo que o Robocopy e é usado primariamente no CMD, mas ainda é funcional para tarefas simples.
A. Sintaxe Básica
Bash
xcopy "Origem" "Destino" [Opções]
B. Exemplo de Uso
Bash
xcopy C:\Docs D:\Backup /E /I /H /Y
| Opção | Significado |
/E | Copia subdiretórios, incluindo os vazios. |
/I | Se o destino não existir, assume que é um diretório e o cria. |
/H | Copia arquivos ocultos e de sistema. |
/Y | Suprime a solicitação de confirmação para sobrescrever arquivos. |
Recomendação: Se você estiver copiando diretórios complexos ou grandes volumes de dados, o Robocopy é sempre a melhor escolha devido à sua resiliência e às opções avançadas (
/MIR,/MON).
3. Usando o PowerShell (Copy-Item)
No PowerShell, o cmdlet nativo para copiar arquivos e diretórios é o Copy-Item. Ele é mais intuitivo e se integra melhor com outras funcionalidades do PowerShell.
A. Sintaxe Básica
PowerShell
Copy-Item -Path "Origem" -Destination "Destino" [Opções]
B. Exemplos de Uso
| Tarefa | Comando PowerShell | Explicação |
| Copiar Arquivo | Copy-Item -Path C:\Logs\Log.txt -Destination D:\Backup | Copia o arquivo Log.txt. |
| Copiar Diretório | Copy-Item -Path C:\Dados -Destination D:\Backup -Recurse | Copia o diretório Dados e todos os seus itens, subdiretórios e arquivos (-Recurse). |
| Forçar Sobrescrita | Copy-Item -Path C:\Dados\Arq.doc -Destination D:\Backup -Force | Copia e sobrescreve arquivos existentes sem perguntar (-Force). |
| Filtrar por Extensão | `Get-ChildItem -Path C:\Dados -Filter “*.pdf” -Recurse | Copy-Item -Destination D:\Backup` |
Dica: O PowerShell usa pipes (
|) para encadear comandos, o que permite filtrar itens antes de copiá-los, como no exemplo de filtro acima.
- Como usar o cmdlet Set-PSFLoggingProvider no PowerShell para aprimorar o monitoramento de logs.
- Como personalizar esquemas de cores no prompt de comando do Windows
- Descubra como implementar o altruísmo em um ambiente Windows.
- Como resolver o erro 0x8007f026 STATUS_WININET_LOAD_FAILED no Windows 10 e 11
- Como criar e gerenciar uma conta da Microsoft no Windows
