Copiar ficheiros do Windows com cmd

Como copiar ficheiros do Windows para outra pasta com scripts cmd?

Para copiar ficheiros do Windows para outras pastas com cmd, use o comando dos copy a partir do prompt. Duas opções principais permitem aos utilizadores copiar ficheiros em scripts de lote do Windows. As opções são a copy e os comandos xcopy. Claro, é sempre possível copiar ficheiros e pastas usando a interface gráfica de utilizador do sistema Windows. Mas é mais eficaz e recomendado fazer scripts de cópias grandes e específicas para evitar erros de manipulação.

1. Copiar ficheiros do Windows com comandos MS-DOS

Em primeiro lugar, a ferramenta de Scripting MS-DOS é muito mais eficiente e eficaz do que o método de arrastar e largar para copiar manualmente ficheiros e pastas. Imagine que precisa de copiar 250’000 ficheiros e precisa de ter a certeza de que todos foram copiados sem erros. Neste caso, o comando dos copy é a melhor opção.

1.1 Copiar um ficheiro Windows e manter o nome e extensão

Em primeiro lugar, copiar um ficheiro de uma pasta para outra pasta e manter o mesmo nome e a mesma extensão. Também é possível fornecer apenas a pasta de destino, uma vez que o nome será mantido por defeito. Se executar duas vezes o mesmo script, o sistema exibe esta mensagem para permitir a sobreposição dos ficheiros já na pasta de destino:

Sobreescrever C:\Folder2\file.txt? (Sim/Não/All):

A opção Todos irá sobrescrever todos os ficheiros durante a cópia de vários ficheiros ao mesmo tempo.

copy C:\Folder\file.txt C:\Folder2\file.txt

1.2 Roteiro para copiar um ficheiro e alterar o nome do alvo

Além disso, pode alterar o nome do ficheiro alvo simplesmente especificando um nome de ficheiro diferente no segundo argumento. Neste caso, o ficheiro de origem chamado file.txt é copiado para outra pasta e é renomeado como newfile.txt. Para detectar e copiar vários ficheiros com um padrão específico, utilize o símbolo wildcard no comando. Permite filtrar os ficheiros-fonte utilizando o nome do ficheiro ou a extensão.

copy C:\Folder\file.txt C:\Folder2\newfile.txt

1.3 Copiar múltiplos ficheiros do Windows com a utilização de um filtro

Eis como copiar todos os ficheiros com um padrão específico, ou seja, com uma extensão específica ou um nome específico antes do separador. Para copiar todos os ficheiros específicos para outra pasta com a linha de comando do Windows, utilize o script abaixo. A primeira opção copia todos os ficheiros com a extensão txt e a segunda copia apenas todos os ficheiros de texto começando com o prefixo do ficheiro.

copy C:\Folder\*.txt C:\Folder2\

copy C:\Folder\file*.txt C:\Folder2\

2. Copiar ficheiros e gerir a sobreescrita e integridade

Além disso, o comando dos copy oferece muitas outras opções, esta lista de opções não é exaustiva. Como, por exemplo, estas opções úteis:

  • A copy /v para verificar se os novos ficheiros são escritos sem erros.
  • Ou a copy /y para desactivar o comando de escrever por cima.
  • Depois, a copy /-y para activar a solicitação de aviso de escrita por cima.

2.1 Como copiar ficheiros e verificar a integridade dos ficheiros copiados?

Para verificar a integridade dos novos ficheiros após a cópia, utilize a opção /v copy. O sistema MS DOS verificará então se a versão copiada não tem qualquer problema de corrupção. É útil com dados sensíveis ou com qualquer ficheiro que se tenha de assegurar que não tem erros durante a leitura. Por exemplo, uma apresentação profissional em PowerPoint. A opção de verificação apenas exibe uma mensagem em caso de erro ocorrido durante a verificação do byte por byte. Caso contrário, nenhuma mensagem específica de aviso ou informação é exibida no prompt.

copy /v C:\Folder\file.txt C:\Folder2\file.txt
Script para copiar ficheiros Windows e verificar a integridade em caso de erro
Script para copiar ficheiros Windows e verificar a integridade em caso de erro

2.2 Como copiar ficheiros sem sobreescrever avisos?

Para não mostrar o aviso no caso de já existir um ficheiro, utilize a opção /y copy. Depois, o sistema escreve por cima dos ficheiros de destino sem aviso explícito. Isto significa que no caso de uma cópia muito grande de milhares de ficheiros, nenhum aviso será exibido, e todos os ficheiros de destino serão sobrescritos.

Utilize esta opção cuidadosamente se manipular diferentes versões do mesmo ficheiro.

copiar /y C:\Folder\file.txt C:\Folder2\file.txt
Script para copiar ficheiros Windows sem aviso de sobrescrever
Script para copiar ficheiros Windows sem aviso de sobrescrever

2.3 Como permitir uma solicitação explícita antes de escrever por cima do alvo?

Finalmente, para activar o prompt explicitamente durante a cópia do ficheiro, utilize a mesma opção mas da forma oposta. De facto, o sinal menos significa desactivar a opção: copy /-y. Utilize esta opção para evitar escrever por cima e potencialmente perder ficheiros importantes que não tenham cópias de segurança. Isto permite validar cada ficheiro sobregravado durante a cópia com a opção Sim exibida no prompt.

copiar /-y C:\Folder\file.txt C:\Folder2\file.txt

3. Conclusão sobre cópia de ficheiro com Windows cmd

Como conclusão, este pequeno tutorial mostra como utilizar scripts cmd para copiar ficheiros do Windows para uma pasta diferente. E também, como utilizar o padrão para filtrar nomes de ficheiros ou extensões e gerir avisos de sobreposição de ficheiros. Assim, vale definitivamente a pena aprender a automatizar cópias e a evitar erros.

Tutoriais sobre como gerir ficheiros com MS-DOS ou PowerShell

  1. Como copiar recursivamente ficheiros e pastas em cmd com xcopy?
  2. Tutorial para aprender como apagar ficheiros recursivamente em cmd
  3. Como criar uma lista de textos de ficheiros em cmd?