DedupeCopy é uma simples ferramenta de cópia de arquivos multi-threaded projetado para reforçar e estruturar sistemas de arquivos alastrando.
O caso de uso mais comum é para fazer backup de dados em um novo layout, ignorando os arquivos duplicados.
Outros usos incluem:
& Nbsp; 1. Conseguir um arquivo .csv que descreva todos os arquivos duplicados
& Nbsp; 2. Comparando diferentes sistemas de arquivos
& Nbsp; 3. Reestruturação conjuntos existentes de arquivos em diferentes layouts (como classificado por extensão ou última modificação)
Esta ferramenta * não * é um substituto Robocopy ou rsync e não tenta preencher o papel aqueles jogo.
Tal como acontece com todos os códigos que caminha por uma árvore de arquivos, por favor, use com cuidado e esperar absolutamente nenhuma garantia!
Exemplos de comando:
& Nbsp; Gerar um relatório de arquivos duplicados para um caminho:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p / Users / -r dupes.csv -m manifesto
& Nbsp; Copie todos os arquivos * .jpg de vários caminhos para uma estrutura /YYYY_MM/*.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p C: fotos -p D: fotos -e jpg -R jpg: mtime -c X: fotos
& Nbsp; Copie todos os arquivos a partir de duas unidades para um único alvo, preservando o caminho para
& Nbsp; todas as extensões:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p C: -p D: -c X: -m X: manifesto -R *: no_change
& Nbsp; Retomar uma corrida interrompida (assumindo que "-m manifesto" utilizado no prazo anterior):
& Nbsp; & nbsp; & nbsp; dedupe_copy.py -p / Users / -r dupes_2.csv -i manifesto -m manifesto
Sequencialmente copiar diferentes fontes para o mesmo destino, não copiando arquivos duplicados (2 fontes e um destino):
& Nbsp; & nbsp; & nbsp; 1.) Primeiro registro manifesta para todos os dispositivos
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; -p dedupe_copy.py \ target share -m target_manifest
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p \ source1 share -m source1_manifest
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p \ source2 share -m source2_manifest
& Nbsp; & nbsp; & nbsp; 2.) Copie cada origem para o destino (especificando --compare assim se manifesta a partir de
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; outras fontes são carregados, mas não usado como parte do conjunto de copiar e
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; --no-pé para pular re-scan da fonte):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p \ source1 share -c \ target share source1_manifest -i
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; --compare source2_manifest --compare target_manifest & nbsp; --no-pé
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; dedupe_copy.py -p \ source2 share -c \ target share source2_manifest -i
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; --compare source1_manifest --compare target_manifest --no-pé
Exemplo completo:
& Nbsp; & nbsp; & nbsp;
& Nbsp; & nbsp; & nbsp; Supondo que você começa com um conjunto de arquivos estabelecidos da seguinte forma:
& Nbsp; & nbsp; & nbsp; C:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; fotos
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; algumas fotos
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo1.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo2.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo3.jpg
& Nbsp; & nbsp; & nbsp; D:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; fotos
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; copied_photo
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo3.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo4.jpg
& Nbsp; & nbsp; & nbsp; E você executar o comando:
& Nbsp; & nbsp; & nbsp; > Dedupe_copy.py -p C: fotos -p D: fotos -e jpg -R jpg: mtime -c X: fotos
Você iria acabar com o seguinte (photo3.jpg foi um verdadeiro duplicado):
& Nbsp; & nbsp; & nbsp; X:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; fotos
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 2012_08
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo1.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo2.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo3.jpg
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 2012_09
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; photo4.jpg
Este projeto está em bitbucket: http://www.bitbucket.org/othererik/dedupe_copy
Requirements:
- Python
Comentários não encontrado