Robocopy - Robocopy
| Desenvolvedor (s) | Microsoft |
|---|---|
| lançamento inicial | 1996, 24-25 anos atrás |
| Versão estável | 10.0.19041.1 / 7 de dezembro de 2019
|
| Sistema operacional | Windows NT 4 e posterior |
| Modelo | Comando |
| Licença | freeware |
| Local na rede Internet | docs |
Robocopy , para "Robust File Copy", é um diretório de linha de comando e / ou comando de replicação de arquivo para o Microsoft Windows . O Robocopy substitui funcionalmente o Xcopy , com mais opções. Criado por Kevin Allen e lançado pela primeira vez como parte do Windows NT 4.0 Resource Kit , é um recurso padrão do Windows desde o Windows Vista e o Windows Server 2008 . O comando é robocopy .
Recursos
Robocopy é conhecido por recursos acima e além dos comandos de cópia e xcopy integrados do Windows , incluindo os seguintes, alguns exigindo opções de linha de comando apropriadas:
- Capacidade de tolerar interrupções de rede e retomar a cópia (arquivos incompletos são marcados com um carimbo de data de 01/01/1970 e contêm um registro de recuperação para que o Robocopy saiba de onde continuar).
- Capacidade de ignorar pontos de junção NTFS que podem causar falhas de cópia devido a loops infinitos (
/XJ) - Capacidade de copiar dados de arquivo e atributos corretamente e preservar carimbos de data / hora originais, bem como NTFS ACLs , informações de proprietário e informações de auditoria usando as opções de linha de comando
/COPYALLou ./COPY: - Começando com a versão XP026, a capacidade de copiar a pasta (ou diretório ) data e timestamps (
/DCOPY:T), mesmo com a capacidade de atualizar os timestamps da pasta (copiados de pastas existentes) em pastas já criadas de versões anteriores (que não copiam a data da pasta e carimbos de data / hora). - Capacidade de declarar o "direito de backup" do Windows NT (
/B) para que um administrador possa copiar um diretório inteiro, incluindo arquivos cuja legibilidade foi negada ao administrador. - Persistência por padrão, com um número programável de novas tentativas automáticas se um arquivo não puder ser copiado.
- Um modo "espelho", que mantém as árvores sincronizadas, excluindo também arquivos no destino que não estão presentes na fonte.
- Capacidade de ignorar arquivos já na pasta de destino com tamanho e carimbo de data / hora idênticos.
- Um indicador de progresso de linha de comando atualizado continuamente.
- Capacidade de copiar caminhos com mais de 259 caracteres - até um limite teórico de cerca de 32.000 caracteres - sem erros.
- Cópia multithread introduzida no Windows 7 e Windows Server 2008 R2 .
- Código de retorno no encerramento do programa para uso do arquivo em lote .
Compressão
Desde o Windows Server 2019 e o Windows 10, uma compressionopção está disponível robocopyao copiar em uma rede. Com essa opção, se o computador de destino oferecer suporte à compactação SMB e os arquivos copiados forem muito compactáveis, pode haver melhorias significativas no desempenho. A compactação SMB adiciona compactação de espaço em branco em linha às transferências de arquivos. A compactação também está disponível com o xcopycomando e Hyper-V Live Migration with SMB.
Exemplos de uso
Aqui estão alguns exemplos de uso, que não diferencia maiúsculas de minúsculas. Se mais de uma opção for especificada, elas devem ser separadas por espaços.
- Copie o conteúdo do diretório da origem
Directory Apara o destinoDirectory B(incluindo dados do arquivo, atributos e carimbos de data / hora), recursivamente com diretórios vazios (/E):
Robocopy "C:\Directory A" "C:\Directory B" /E
Se os nomes de diretório tiverem caracteres não padrão, como espaços, eles devem ser colocados entre aspas duplas, como é normal na linha de comando.
- Copiar diretório recursivamente (
/E), copiar todas as informações do arquivo (/COPYALL, equivalente a/COPY:DATSOU,D= Dados,A= Atributos,T= Timestamps,S= Segurança = NTFS ACLs ,O= Informações do proprietário,U= Informações de auditoria), não tente novamente os arquivos bloqueados (/R:0) (o número de novas tentativas em cópias com falha, o valor padrão é 1 milhão), preservar os registros de data e hora dos diretórios originais (/DCOPY:T- requer a versão XP026 ou posterior):
Robocopy C:\A C:\B /COPYALL /E /R:0 /DCOPY:T
- Espelhe A para B, destruindo todos os arquivos em B que não estão presentes em A (
/MIR), copie os arquivos no modo de retomada (/Z) caso a conexão de rede seja perdida:
Robocopy C:\A \\backupserver\B /MIR /Z
Para obter a referência completa, consulte a página Microsoft TechNet Robocopy.
Foco sintático na cópia de pastas
A sintaxe do Robocopy é muito diferente de seus predecessores ( copy e xcopy ), pois aceita apenas nomes de pastas, sem barra invertida, como seus argumentos de origem e destino. Nomes de arquivos e caracteres curinga (como *e ?) não são válidos como argumentos de origem ou destino; os arquivos podem ser selecionados ou excluídos usando o argumento de filtragem opcional "arquivo" (que suporta curingas) junto com várias outras opções.
Por exemplo, para copiar dois arquivos de uma pasta c:\barpara c:\baz, a seguinte sintaxe é usada:
robocopy c:\bar c:\baz file1.txt file2.db
E para copiar todos os arquivos PDF de c:\barpara c:\baz:
robocopy c:\bar c:\baz *.pdf
Os arquivos nomeados são copiados apenas da pasta selecionada para cópia; nomes de caminho totalmente qualificados não são suportados.
CUIDADO: Um problema de longa data com o Robocopy significa que se você fizer backup da pasta raiz de uma unidade [por exemplo, robocopy d:\ b:\d-backup\ ....], os arquivos de destino receberão atributos incluindo SH. Isso significa que eles ficarão invisíveis ao acesso normal (incluindo DIR no cmd.exe). Para corrigir isso, adicione /a-:SHà linha de comando robocopy - ou execute um comando ATTRIB para removê-los posteriormente.
Saída
O Robocopy exibe na tela ou, opcionalmente, em um arquivo de log, os nomes de todos os diretórios que encontra, em ordem alfabética. Cada nome é precedido pelo número de arquivos no diretório que atendem aos critérios para serem copiados. Se o diretório ainda não existir no destino, ele será marcado como "Novo diretório"; se o diretório estiver vazio e a opção / E não for usada, ou se não contiver arquivos que atendam aos critérios, um novo diretório não será criado.
Se a opção / NFL (nenhum nome de arquivo no log) for usada, os arquivos que estão sendo copiados serão listados após o nome do diretório em que estão.
No final da saída, há uma tabela com o número de diretórios, arquivos e bytes. Para cada um deles, a tabela fornece o número total encontrado na fonte, o número copiado (incluindo os diretórios marcados como "Novo Dir", mesmo que não tenham sido copiados), o número ignorado (porque já existem no destino) e o número de incompatibilidades , FALHA e extras . "Falha" pode significar que houve um erro de E / S que impediu a cópia de um arquivo ou que o acesso foi negado. Também há uma linha de tempo gasto (em que o tempo gasto em arquivos com falha parece estar na coluna errada).
Limitação de largura de banda
A opção " inter-packet gap " (IPG) do Robocopy permite algum controle sobre a largura de banda da rede usada em uma sessão. Em teoria, a fórmula a seguir expressa o atraso ( D , em milissegundos) necessário para simular uma largura de banda desejada (B D , em kilobits por segundo ), em um link de rede com uma largura de banda disponível de B A kbps:
Na prática, entretanto, geralmente é necessária alguma experimentação para encontrar um atraso adequado, devido a fatores como a natureza e o volume de outro tráfego na rede. A metodologia empregada pela opção IPG pode não oferecer o mesmo nível de controle fornecido por algumas outras tecnologias de limitação de largura de banda, como BITS (que é usado pelo Windows Update e BranchCache).
Limitações
- Robocopy não copia arquivos abertos. Qualquer processo pode abrir arquivos para acesso de leitura exclusivo, retendo a
FILE_SHARE_READbandeira durante a abertura. Mesmo o modo de backup do Robocopy não afetará esses arquivos. (Em vez disso, o modo de backup executa o Robocopy como um "Operador de backup". Isso permite que o Robocopy substitua as configurações de permissões, especificamente, ACLs de NTFS ). Normalmente, o Volume Shadow Copy Service é usado para tais situações, mas o Robocopy não o usa. Conseqüentemente, o Robocopy não é adequado para fazer backup de volumes ativos do sistema operacional. No entanto, um utilitário separado, comoShadowSpawn(Gratuito, Open Sourced e MIT Licensed) ouGSCopyPro($ 30 - $ 50) ouDiskShadow.exe(incluído no Windows Server 2008 ), pode ser usado de antemão para criar uma cópia de sombra de um determinado volume, que o Robocopy pode então cópia de segurança.
- As versões do Robocopy em sistemas anteriores ao Windows Vista não são espelhadas corretamente. Eles ignoram os atributos de segurança alterados de arquivos espelhados anteriormente.
- Ao especificar a
/MT[:n]opção de habilitar a cópia multithread, a/NPopção de desabilitar o relatório da porcentagem de progresso para arquivos é ignorada. Por padrão, o switch MT fornece 8 threads. O n é o número de threads que você especifica se não deseja usar o padrão.
GUI
Apesar do próprio Robocopy é uma ferramenta de linha de comando, Microsoft TechNet fornece uma GUI front-end chamado Robocopy GUI. Ele foi desenvolvido por Derk Benisch, um engenheiro de sistemas do grupo MSN Search da Microsoft, e exigia o .NET Framework 2.0. Inclui uma cópia do Robocopy versão XP026.
Existem GUIs não Microsoft para Robocopy:
- Revisão "WinRoboCopy" 1.3.5953.40896 lançada em 19 de abril de 2016.
- A última versão 1.0.15 do "Easy RoboCopy" foi lançada em 8 de janeiro de 2018.
- Um programa da SH-Soft, também chamado de "Robocopy GUI" v1.0.0.24 (8 de outubro de 2005).
- Cinchoo EazyCopy v1.0.0.14 (11 de fevereiro de 2021)
- RoboCop, Robocopy GUI Skin e gerador de script com Monitoramento de Progresso, 10 de setembro de 2015.
Ken Tamaru da Microsoft desenvolveu um programa de cópia com funcionalidade semelhante ao Robocopy, chamado RichCopy , descontinuado em 2010. Não é baseado no Robocopy e não requer .NET Framework.
Versões
Várias versões do Robocopy não relatam o número da versão ao executar robocopy /?na linha de comando. No entanto, sua versão é armazenada dentro do próprio executável e pode ser consultada com o PowerShell, por exemplo ( gcm robocopy | fl *) ou dentro do Windows Explorer clicando com o botão direito do mouse em Robocopy.exe, selecionando Propriedades e clicando na guia Detalhes.
| Versão do produto | Versão do arquivo | Ano | Origem |
|---|---|---|---|
| 1,54 | - | 1996 | Windows NT 4.0 Resource Kit |
| 1,70 | - | 1997 | Kit de recursos do Windows NT |
| 1,71 | 4.0.1.71 | 1997 | Kit de recursos do Windows NT |
| 1,95 | 4.0.1.95 | 1999 | Windows 2000 Resource Kit |
| 1,96 | 4.0.1.96 | 1999 | Windows 2000 Resource Kit |
| XP010 | 5.1.1.1010 | 2003 | Windows 2003 Resource Kit |
| XP026 | 5.1.2600.26 | 2005 | Baixado com Robocopy GUI v.3.1.2; /DCOPY:Topção introduzida
|
| XP027 | 5.1.10.1027 | 2008 | Incluído com Windows Vista , Server 2008, Windows 7 , Server 2008r2 |
| 6,1 | 6.1.7601 | 2009 | KB2639043 |
| 6,2 | 6.2.9200 | 2012 | Empacotado com Windows 8 |
| 6,3 | 6.3,9600 | 2013 | Empacotado com Windows 8.1 |
| 10,0 | 10.0.10240.16384 | 2015 | Empacotado com Windows 10 |
| 10.0.16299 | 10.0.16299.15 | 2017 | Incluído com Windows 10 1709 |
| 10.0.17134 | 10.0.17134.1 | 2018 | Incluído no Windows 10 1803 |
| 10.0.17763 | 10.0.17763.1 | 2018 | Incluído no Windows 10 1809 |
| 10.0.18362 | 10.0.18362.1 | 2019 | Incluído no Windows 10 1903 |
| 10.0.18362.1 | 10.0.18362.1 | 2019 | Incluído com Windows 10 1909 |
| 10.0.19041.1 | 10.0.19041.1 | 2020 | Empacotado com Windows 10 20H2 |
Veja também
- Lista de software de cópia de arquivo
- Linha de comando
- GUI
Referências
links externos
- Fontes oficiais
- Documentação do Microsoft Robocopy
- Download do Robocopy (versão XP010) como parte do Windows Server 2003 Resource Kit Tools. Inclui documentação de 35 páginas "robocopy.doc".
- Documentação resumida do Robocopy na Biblioteca Microsoft TechNet
- Download da GUI do Robocopy (versão 3.1.2.0) na Microsoft TechNet Magazine
- De outros