Ícone do site ForestGIS.com | O seu portal de geotecnologia

Como copiar arquivos GIS de forma rápida e prática usando o Robocopy

Quem trabalha com GIS geralmente é um usuário avançado do sistema operacional, normalmente Windows. Trablhar com GIS quase sempre significa manipular grandes quantidades de dados, na casa dos GB ou frequentemente Terabytes de arquivos raster, PDFs, vetores, geodatabases, shapefiles, etc.

No Windows, quando você precisa copiar arquivos para outra unidade, normalmente usa o processo padrão de selecionar, copiar e colar. Embora isso funcione perfeitamente, a velocidade se torna um gargalo, pois a transferência de muitos arquivos, pesados como arquivos GIS são, pode levar muito tempo e até mesmo falhar se os arquivos estiverem abertos, em uso.
Como alternativa, muitos usuários experientes como usuários GIS usam o Robocopy (Robust File Copy). O robocopy uma ferramenta de linha de comando (telinha preta) integrada ao Windows, que oferece mais recursos para mover dados rapidamente para um local diferente (para outra unidade de disco ou servidor ou computador na rede).

Como funciona?

Para usar o recurso Robocopy para copiar arquivos e pastas para outra unidade no Windows, siga estas etapas:

  1. Abra o Menu Iniciar no Windows.
  2. Pesquise por Prompt de Comando (ou digite CMD na busca), clique com o botão direito do mouse no resultado e selecione a opção Executar como administrador.
  3. Digite o seguinte comando para copiar os arquivos e pastas para outra unidade e pressione Enter:
robocopy "C:\caminho\da\pasta\de\origem\"  "D:\caminho\da\pasta\de\destino\" 

No comando, altere os caminhos de origem e destino, bem como as opções. Por exemplo, este comando copia dados da unidade C para a D nos caminhos descritos

No final do código acima podemos adicionar uma dezenda de opções de como o robocopy efetuará a cópia. Algumas delas podem ser perigosas e podem resultar em perda de dados e sobrescrição, então use com cuidado, por sua conta e risco e primeiro treine com arquivos backupeados para evitar perda de dados.

Algumas opções são:

Você pode usar vários destes comandos acima ao mesmo tempo.

Robocopy "D:\testfiles" "c:\temp\testfiles" /move /e /copyall

O código acima irá mover os arquivos (mov), vai incluir pastas e subpastas (e) e copiará tudo (copyall) para o destino.

Quer ver todos os comandos possíveis? Veja aqui a lista no site da Microsoft

Como acelerar a cópia com multithreading?

Um recurso que torna o Robocopy especial (e muitas vezes esquecido) é seu recurso multithread, que permite copiar vários arquivos simultaneamente usando vários “processadores” ao mesmo tempo. Em vez de um arquivo por vez, como o File Explorer do Windows faz.

robocopy "C:\caminho\da\pasta\de\origem\"  "D:\caminho\da\pasta\de\destino\" /MT: 32

O subcomando /MT do exemplo acima é o modificador que permite ao Robocopy copiar arquivos no modo multithread. Se você não definir um número ao lado do modificador /MT, o número padrão será 8, o que significa que o Robocopy tentará copiar oito arquivos simultaneamente. No entanto, o Robocopy suporta de 1 a 128 threads.

No exemplo estamos usando 32, mas você pode configurá-lo para um número maior. A única ressalva é que um número maior causará maior uso de recursos de processador e rede. Usar um número alto afetará o desempenho se você tiver um processador antigo ou estiver trabalhando na máquina enquanto copia. Como resultado, teste antes de executar o comando com mais threads.

Depois de concluir as etapas, você notará que a cópia de arquivos e pastas levará significativamente menos tempo.

Você não está limitado a copiar arquivos e pastas para uma unidade externa ou interna. Você também pode usar isso para migrar arquivos pela rede ou até na núvem.

Gostou? Compartilhe
Sair da versão mobile