Newsgroup: it.comp.lang.visual-basic
Titolo: Ricerca Files Duplicati

Ciao a Tutti!
esiste una procedura x scoprire files doppioni sul nostro hd
indipendentemente dal loro nome?
es:
c:\doc\pippo.exe   e   c:\windows\mario.exe sono identici solo
che il loro nome è diverso.
come fare per identificare partendo da un path es:   C:\   a trovare tutti i
file doppioni
elencandoli in una listbox?
Potrebbe essere utile caricare l'intero file come da esempio per la
comparazione?
dim doppione as string
Open nomedelfile For Binary As #1
doppione= Space$(LOF(1))
Get #1, , doppione
Grazie a tutti infinitamente.
Fabry!

 ha scritto nel messaggio
news:9pihfr$b1r$2...@nreadb.inwind.it...


 ha scritto nel messaggio
news:9pihca$k1r$1...@fe2.cs.interbusiness.it...


che il loro nome è diverso.
...azz... quanti file ci sono sui dischi ?
Un primo criterio di confronto e' certamente la dimensione:
se sono di dimensioni diverse i file sono sicuramente diversi ;-)
Se le dimensioni corrispondono allora occorre aprirli (purche' non
siano bloccati in lettura) e confrontarli byte per byte (dispendioso in termini
di tempo) oppure calcolarne il rispettivo CRC e confrontare i due numeri
cosi' ottenuti (penso sia piu' veloce).
Auguri !
ciao, hal

 wrote in message
9piiol$itkn5$1...@ID-56381.news.dfncis.de...


altre dir...
Gli spunti che ti ho dato non vanno bene ?
Hai guardato l' esempio del sito comune ?
ciao, hal

forse un giorno ci arriverò.... :(
Per la ricorsione sulle directories alla ricerca di files, forse ti possono
essere piu' chiari questi:
HOWTO: Recursively Search Directories Using FileSystemObject 
Q185601
HOWTO: Search Directories to Find or List Files 
Q185476
Se non hai msdn, vai su 
msdn.microsoft.com
 e cerchi in base al  codice
che ho scritto sotto i titoli degli articoli.
hth, hal


grossi quanto?
quale è il limite per una stringa  ?
grazie
MarioH

 quale è il limite per una stringa  ?
2GB.
Ma il limite vero e' la memoria fisica disponibile (non TOTALE, DISPONIBILE,
cioe' non gia' occupata da altri programmi, dal sistema, dalla cache o dal
codice e dalle variabili del tuo SW): se sfondi quel valore (anzi, la sua
meta', dato che buona parte delle operazioni stringa richiedono una copia
della medesima) iniziano gli swap su disco e sono casi amari...
Ciaotutti,
*

 wrote in message
9pk42k$j0a9c$1...@ID-70152.news.dfncis.de...


 Grazie!
"c'e' qualcuno". esserci. io ci sono. tu ci sei. lui c'e'. o ci fa.
visto che il controllo deve riguardare anche file con nome diverso e/o in in
dir diverse, il procedimento deve essere qc come:
- cerco tutti i file
- se <= 50 k memorizzo il nome completo del file in una matrice
- quando ho finito controllo il primo con _tutti_ gli altri elencati nella
matrice. se elimino uno o piu' file, aggiorno la matrice. ecc.
su questo pc devono esserci circa 150k file.
sui miei pc di bkp, con i siti scaricati, passiamo a 300-500k file, con una
caterva di failetti di +-1k.
fossi in te, penserei molto seriamente a farlo in delphi o c++.
ciao, j.

 comparazione?
No! folle! :) Basta un checksum (lo chef consiglia CRC32), veloce ma di 
una precisione di "appena" 32 bit, o un digest, ben 128 bit di 
precisione (se decidi di usare il classico MD5), ritenuto valido 
crittograficamente, ma ci vuole un *pochino* di più a calcolarlo. La 
logica è: se due file hanno lo stesso checksum (o digest), hanno un 
contenuto identico, quindi sono uguali. MD5 ti risparmia il controllo 
delle dimensioni del file, perchè l'algoritmo ne tiene già conto

> No! folle! :) Basta un checksum (lo chef consiglia CRC32), veloce ma di
Ma tanto cmq devi caricartelo il file :P
E' pur vero che lo carichi una volta e poi fai le verifiche sul
CRC/HASH/Digest...
Ciaotutti,
*