Puncte:-1

Găsiți fișiere duplicate și convertiți-le în link-uri [WINDOWS]

drapel gb

Utilizatorii mei tind să economisească tone de fișiere duplicate, ceea ce consumă din ce în ce mai mult spațiu și să genereze costuri HW și de arhivare.

Mă gândesc să creez un loc de muncă programat, pentru a:

  1. găsiți fișiere duplicate (verificați suma fișierului MD5, nu numai numele / dimensiunea fișierului)
  2. lăsați doar 1 fișier original
  3. înlocuiți alte copii redundante prin link (comandă rapidă) către fișier (punctul de mai sus)

Ai idee cum să arhivez asta?

Script / instrument / sfaturi?

EDIT 28.10.2021

Am găsit între timp findDupe: https://www.sentex.ca/~mwandel/finddupe/

Permite crearea de hardlink-uri către fișierele originale. Am încercat asta - arată corect ce este duplicat, pare să creeze legături rigide - dar... nu văd diferența în statisticile de utilizare a HDD-ului până la urmă

De ce asta? Poate că Windows calculează incorect spațiul liber?

Puncte:1
drapel cn

Am făcut un mic script în python care răspunde nevoilor tale.

Se folosește fdupes -r <dir> pentru a obține toate fișierele duplicate (chiar și cu nume diferite). După aceea, repetă peste rezultat și șterge fișierele duplicate, apoi face o legătură simbolică.

Vă las să le decomentați pe cele două os.system() linii pentru a permite modificările.

Poate că veți dori să treceți un parametru acestui script (cum ar fi o cale sau alta), vă las să căutați această nevoie :)

import os

root_dir='/home/user/directory'

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

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


pentru fișierele din blocks_of_dup_files:
    fișiere = files.split('\n')
    păstrat_file = files.pop()
    pentru fișier în fișiere:
        print('rm -f' + fisier)
        print('ln -s ' + keeped_file + ' ' + fisier)

        #os.system('rm -f ' + fișier)
        #os.system('ln -s ' + keeped_file + ' ' + fişier)

drapel gb
Mulțumiri. Se pare că soluția dvs. este adresată pentru Linux. Am nevoie de așa ceva pentru Windows (scuze că am uitat să menționez asta în postarea mea - corectată)
drapel gb
Ok, am găsit că acest lucru poate fi instalat pe Windows - prin Choco. Îi voi încerca
Puncte:1
drapel in

Pentru Windows am scris https://github.com/Caspeco/BlobBackup/tree/master/DuplicateFinder

Veți avea nevoie de Visual Studio pentru a compila codul. Rețineți totuși că, cu link-uri, dacă un „fișier” este modificat, atunci toate sunt (sau mai degrabă, există un singur fișier). Acesta ar putea fi un comportament nedorit pentru utilizatori.

drapel gb
Mulțumesc pentru partajarea asta, am compilat asta, dar nu găsesc informații despre parametrii de linie cmd, cum funcționează, etc. Am verificat rapid adăugând un parametru (director de scanat), a returnat: Duplicați făcut 4 articole traversate în xxx - dar fără ifo dacă s-au găsit duplicate (sunt unele), de asemenea, nicio informație despre legături (hard)
drapel in
Se potrivește cu dimensiunea și sumele de control (se testează doar dacă sunt găsite duplicate) dacă fișierele sunt deja legate, acestea sunt „sărite” dacă sunt găsite duplicate, le va imprima.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.