Verificando arquivos exclusivos em diretórios do Windows

1

Eu tenho dois diretórios na minha unidade D. D: e D: . O diretório 1 e 2 e os subdiretórios têm vários arquivos.

Eu preciso de um arquivo em lotes que:

  • Leia cada arquivo no Diretório 1 e verifique se o mesmo arquivo existe no diretório 2
  • Evita arquivos duplicados
  • Move apenas os arquivos que não estão presentes no diretório 2 para um diretório diferente C: com a mesma estrutura de pastas.
  • Leia o próximo arquivo e assim por diante.

No final, tenho C: , que tem apenas os arquivos exclusivos de 1. Eu sei que posso arrastar e soltar ... mas preciso disso em um arquivo de lote.

    
por Kalim Sayyed 16.07.2013 / 13:29

2 respostas

1

robocopy "D:\dira" "D:\dirb" /MIR /XO /W:5 /V /LOG:"D:\dira\log.txt"
exit

salvar como foo.cmd e executá-lo quando quiser, ou agendá-lo no gerenciador de tarefas

fonte

  • / mir: espelha uma árvore de diretórios
  • / xo: exclui arquivos mais antigos.
  • / w: 5: especifica o tempo de espera entre as tentativas, em segundos
  • / v: produz saída detalhada e mostra todos os arquivos ignorados.
  • / log: Grava a saída de status no arquivo de log (sobrescreve o arquivo de log existente).
por 16.07.2013 / 13:52
0
@echo off
set "d1=D:\Login1"
set "d2=D:\Login2"
set "d3=D:\RESULT"

for /R "%d1%" %%F in ("*") do (
    if not exist "%d2%\%%~nxF" move "%%~fF" "%d3%"
)

Como proposto por Kalim em link

    
por 25.07.2013 / 17:53