
Não acredito que estou tendo problemas para copiar um diretório para outro diretório por meio da linha de comando do Windows.
O que eu quero fazer é simples -:
Digamos que eu tenha um diretório -:
C:\test
e quero copiar o teste para D: Então em D deve haver uma pasta como a seguinte:
D:\test
quando eu uso
robocopy C:\test D:\test \E
A unidade D termina com o conteúdo de C:\test na raiz, em vez de estar contido em um diretório chamado test.
Como você faz essa coisa simples?
Responder1
Se você deseja criar uma duplicata exata, use a seguinte versão (que equivale a adicionar /E e /PURGE:
robocopy c:\source d:\destination /MIR
Se tudo o que você deseja fazer é copiar os diretórios e subdiretórios, inclusive os vazios, use
robocopy c:\source d:\destination /E
É a barra invertida na opção E que estava afetando você.
Para saber mais sobre o Robocopy, aqui está uma pesquisa útil:
Responder2
Parece-me que o uso de robocopy
nas respostas anteriores não responde realmente à questão, ou seja, copiar a pasta de origem, com o seu conteúdo, para a pasta de destino.
O seguinte é o que funcionou para mim. Ele preserva as datas de criação e registra as atividades em um arquivo e na tela. Ele também tenta ler um arquivo até 5 vezes se estiver inacessível. Sinta-se à vontade para modificar os sinalizadores para atender às suas necessidades.
robocopy 'G:\Some Directory\A ' 'E:\Some Directory\A ' /e /dcopy:T /mt /tee /log:A.log /r:5
Duas observações que não me pareceram óbvias:
- As strings de caminho precisam terminar com um espaço para que o diretório raiz de origem seja criado no destino, e não apenas seu conteúdo sem o diretório que o contém.
- O diretório raiz no destino precisa estar no caminho de destino, mesmo que não saia antes de emitir o comando.
- A data de criação original do diretório raiz ainda será preservada.
Acho surpreendente que uma operação tão comumente desejada como a que foi questionada não esteja melhor documentada.
Responder3
Use Robocopy (cópia robusta de arquivo)
robocopy c:\test d:\test /s /e *.*
/sswitch é para copiar tudosubdiretóriose /eswitch serve para copiar todos ossubdiretórios vazios&*.*significa (todos os arquivos).(quaisquer extensões)
sintaxe:
robocopy source-folder destination-folder files switches
Por favor visiteesselink para mais informações sobre robocópia.
Responder4
Embora esta resposta não use robocopy
, acho que ainda serve para copiar diretórios.
Você poderia tentar usar:xcopy
Uso:xcopy source [destination] ...
Você pode verificar mais detalhes executandoxcopiar /?
Fonte:COMO: Copiar uma pasta para outra pasta e manter suas permissões.