O que é uma maneira de linha de comando para mover o conteúdo de um diretório para outro diretório no Vista?

3

Eu geralmente adoro o Vista, mas descobri que as instalações de movimentação de arquivos são ruins.

Eu tenho esses dois diretórios

C:\dir1\
C:\dir2\

Ambos contêm vários subdiretórios, que contêm arquivos e subdiretórios e assim por diante. E eles são basicamente a mesma estrutura, mas o conteúdo dos arquivos é diferente.

O que eu quero fazer é pegar todos os subdiretórios de C:\dir1\ e movê-los para C:\dir2\ , sobrescrevendo o que está em C:\dir1\ .

Se eu fizer isso arrastando no Windows Explorer - simplesmente não funciona. Ele pergunta se tenho certeza que quero mesclar, mas depois disso não faz nada.

Se eu fizer isso um diretório de cada vez, às vezes funciona e às vezes não. E quando funciona, deixa o diretório original no lugar, vazio, o que é inofensivo, mas estranho.

O que é uma maneira boa, automática e preferivelmente de linha de comando para dizer "mova o conteúdo deste diretório sobre o conteúdo deste diretório, sim, estou falando sério, sim substitua tudo, não, não me faça mais perguntas, período "?

Também, por favor, me diga se o Windows 7 corrige essa porcaria.

    
por Tom Kidd 04.09.2009 / 00:31

1 resposta

8

xcopy c: \ dir1c: \ dir2 / E / H / R / X / A / I / K

faz o truque.

Funciona no Vista e 7 na linha de comando.

Para informações, isso é o que os switches fazem neste comando:

  • / E Copia diretórios e subdiretórios, incluindo os vazios.
  • / H Também copia arquivos ocultos e de sistema.
  • / R Substitui arquivos somente leitura.
  • / X Copia configurações de auditoria de arquivos (implica em / O).
  • / Y Suprime o aviso para confirmar que você deseja substituir um arquivo de destino existente.
  • / I Se o destino não existir e se você copiar mais de um arquivo, assume que o destino deve ser um diretório.
  • / K Copia atributos. O Xcopy normal irá redefinir os atributos somente leitura.

Você pode descobrir mais informações digitando xcopy /? na linha de comando.

Se você quiser completar o "movimento", simplesmente exclua c: \ dir1 com rd c: \ dir1 / S / Q

Pode valer a pena manter esses dois comandos em um arquivo de lote (um arquivo de texto com .cmd ou .bat no final) usando o Bloco de Notas. Então basta clicar duas vezes no atalho.

    
por 04.09.2009 / 00:36