Existem 3 comandos principais para copiar ficheiros
- copy: comando básico de cópia de ficheiros. Pode ser utilizado para agregar o conteúdo de vários ficheiros de texto num só.
- xcopy: aumenta as potencialidades do comando copy permitindo a manipulação de subpastas
- robocopy: o comando mais versártil, permite manipulação de estruturas de pastas e de permissões
Exemplos do comando copy:
Comando copy | Comentários |
---|---|
c:\>copy test.txt test2.txt | Cria o ficheiro test2.txt a partir do ficheiro test.txt |
c:\>copy test1.txt+test2.txt testtotal.txt | Cria o ficheiro testtotal.txt agregando os conteúdos de test1.txt+test2.txt. |
c:\>copy *.txt total.txt | Cria o ficheiro total.txt a partir de todos os ficheiros com a extensão txt na presente pasta |
c:\data>copy *.* c:\arquivo | Copia todos os ficheiros para a pasta arquivo |
Comando xcopy | Comentários |
---|---|
c:\>xcopy c:\data d:\data /s c:\>xcopy c:\data d:\data\ /s |
O switch /s copia todos os ficheiros, pastas e subpastas da origem para o destino. Usar "\" se a pasta de destino não existir. Não existindo, o sistema vai perguntar se pretende enviar os dados para um ficheiro ou pasta. Se escolher pasta, todos os dados são combinados num único ficheiro. Se escolher ficheiro, toda a esttutura de pastas é recriada. |
c:\>xcopy c:\data d:\data\ /s /e | O switch /e garante que as pastas vazias são copiadas |
c:\>xcopy c:\data d:\data\ /s /e /t | O switch /t apenas copia a estrutura de pastas sem copiar os ficheiros |
c:\>xcopy c:\data d:\data\ /s /e /y | O switch /y impede que o sistema pergunte se pretende escrever por cima de ficheiros existentes. |
O robocopy tem mais funcionalidades que o xcopy, permitindo copiar a metadata associada com um ficheiro. A metadata é identificado com recurso a flags. As flags podem ser usadas com /copy para especificar a metadata a copiar.
robocopy (metadata flag) | Comentários |
---|---|
c:\>robocopy c:\data d:\data\ /copy:d | Flag de data (d). O d identifica a própria flag |
c:\>robocopy c:\data d:\data\ /copy:da | Flag de atríbuto (a), incluindo atríbutos como hidden ou read-only |
c:\>robocopy c:\data d:\data\ /copy:dat c:\>robocopy c:\data d:\data\ |
Flag com timestamps (t), incluido quando o ficheiro foi criado ou modificado. As flags d, a e t são uasadas por defeito. Assim sendo os comandos têm o mesmo efeito. |
c:\>robocopy c:\data d:\data\ /copy:dats | Flag de segurança (s) onde são contempladas as permissões NFTS |
robocopy c:\data d:\data\ /copy:datso | Flag de owner(o), que permite manter o dono original do ficheiro. Se não for usado o dono passa a ser o utilizador que executou o comando |
Vejam-se alguns exemplos do comando robocopy para manipulação de pastas e ficheiros
Comandos robocopy | Comentários |
---|---|
c:\>robocopy c:\data d:\data\ | Copia todos os ficheiros para a drive d:. Não inclui pastas. |
c:\>robocopy c:\data d:\data\ /s | Copia todos os ficheiros e pastas e subpastas não vazias. |
c:\>robocopy c:\data d:\data\ /e | Copia todos os ficheiros, pastas e subpastas, incuido pastas vazias (note-se que não foi necessário incluir o switch /s |
c:\>robocopy c:\data d:\data\ /e /purge | O switch /purge elimina os ficheiros e pastas do destino que já não estejam na origem |
c:\>robocopy c:\data d:\data\ /mir | O switch /mir faz mirror de todo o conteúdo da origem no destino. Faz o mesmo que o comando do exemplo anterior. |
c:\>robocopy c:\data d:\data\ /mov | Copia todos os ficheiros para o destino eliminado-os da origem (mesmo que cortar e copiar). Não incui subpastas. |
c:\>robocopy c:\data d:\data\ /move | Similar ao comando anterior, inclui também todas as subpastas |
O output do comando robocopy permite verificar quantos ficheiros e pastas foram copiados, ficheiros que não o foram, eventuais falhas e erros, etc.
Para verificar estas e outras opções existe uma ferramenta em modo gráfico muito boa. O Robocopy GUI. O robocopy deverá ser o comando por eleição a utilizar para manipulação avançada de copias de dados