My gebruikers is geneig om tonne duplikaatlêers te bespaar wat al hoe meer spasie verbruik en HW en argiefkoste genereer.

Ek dink daaraan om 'n geskeduleerde werk te skep, om:

  1. vind duplikaatlêers (kontroleer lêer MD5-som, nie net lêernaam / grootte nie)
  2. laat slegs 1 oorspronklike lêer
  3. vervang ander oortollige kopieë deur skakel (kortpad) na lêer (punt hierbo)

Enige idee hoe om dit te argiveer?

Skrip/hulpmiddel/wenke?

answer

Ek het 'n klein skrif in python gemaak wat jou behoeftes beantwoord.

Dit gebruik fdupes -r <dir>om alle duplikate lêers te kry (selfs met verskillende name). Daarna herhaal dit oor die uitvoer en vee gedupliseerde lêers uit, maak dan 'n simboliese skakel.

Ek laat jou die twee os.system()reëls verwyder om die wysigings moontlik te maak.

Miskien wil jy parameter na hierdie skrif oordra (soos 'n pad of ander), ek laat jou na hierdie behoefte soek :)

import os

root_dir='/home/user/directory'

blocks_of_dup_files = os.popen('fdupes -r ' + root_dir).read().split('\n\n')

if(blocks_of_dup_files[-1] == '') :
    blocks_of_dup_files.pop()


for files in blocks_of_dup_files:
    files = files.split('\n')
    keeped_file = files.pop()
    for file in files:
        print('rm -f ' + file)
        print('ln -s ' + keeped_file + ' ' + file)

        #os.system('rm -f ' + file)
        #os.system('ln -s ' + keeped_file + ' ' + file)

Nuwe bydraer
Martin is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Vir Windows het ek https://github.com/Caspeco/BlobBackup/tree/master/DuplicateFinder geskryf

Jy sal visuele studio nodig hê om die kode saam te stel. Let wel, dat met skakels as een "lêer" gewysig is, dan is almal (of eerder, daar is net een lêer). Dit kan ongewenste gedrag vir gebruikers wees.