Warning

 

Close

Confirm Action

Are you sure you wish to do this?

Confirm Cancel
Member Login
Posted: 12/30/2005 6:47:02 PM EDT
Any good programs (free) that will search windows for files that are exact duplicates of each other (same file size and date)?

Link Posted: 12/30/2005 6:47:50 PM EDT
search for one called "clonespy"
Link Posted: 12/30/2005 10:07:48 PM EDT
You can write this up in Perl in a few minutes, easiest if you use Knoppix so that you can use UNIX command-line file finding tools.

mount /mnt/hda1 (or whatever your drive shows up as)
find /mnt/hda1 -type f -print
open each file, use size as the key to add into an associative array of lists
every time you get a "hit" (identical key), compare the files ("cmp -l" or "fc /b" depending on UNIX or Windoze); if they don't match, add the second file to the list for that key.

This has the added benefit of comparing contents rather than mere attributes like size and date.

You could also use md5sum on each file as the key, but this takes a lot longer since you're calculating a lot of unneeded sums -- I use this to do an antivirus check on my work Win2k drive (starting from a clean install) to eliminate the risk of viruses, keyloggers, and other traps.
Link Posted: 1/10/2006 6:25:27 PM EDT
[Last Edit: 1/10/2006 7:08:19 PM EDT by RyJones]
I use "duplic8".
Link Posted: 1/10/2006 6:34:16 PM EDT
out of control porn?
Link Posted: 1/10/2006 6:37:01 PM EDT

Originally Posted By AssaultRifler:
out of control porn?



out of control digital camera pics.

I tried clonespy but it was giving me weird results. So I just consolidated everything in one direcotry that I could find.
Link Posted: 1/10/2006 6:39:00 PM EDT
Tag...

Tag...

I got dupe problems too...


ByteTheBullet (-:
Link Posted: 1/10/2006 6:41:34 PM EDT

Originally Posted By 71-Hour_Achmed:
You can write this up in Perl in a few minutes



I've already done it.

#!/usr/bin/perl

use String::CRC32;
use File::Find;
use Cwd;

@liste = ();
find(\&findind, cwd);



sub findind {

if (-f) {

if (-s > 0) {

open(file, $_) or die "fuckup $_ $! \n";
$crc = crc32(*file);
close(file);
#print "filnavn $_ crc $crc katalog $cwd \n";
$path = join "", cwd, "/", $_;
push(@liste, {"filnavn" => $path , "crc" =>$crc});
} else {
print "filen $_ er tom \n";
}

}
}
for ($i=0;$i<=$#liste;$i++) {
$crc = @liste[$i]->{crc};
$path = @liste[$i]->{filnavn};
for ($y=0;$y<=$#liste;$y++) {
if ($crc == @liste[$y]->{crc} && $path ne @liste[$y]->{filnavn}) {
print "match $path og @liste[$y]->{filnavn} \n";

}

}


}
Link Posted: 1/10/2006 6:43:50 PM EDT
damn, I was about to ask the same question.

I have a wierd partitioned HD with C=12gig and D=68gig and I'm running out of space on C and started putting programs on D too. Now I have duplicate programs all over the place. Any suggestions?
Link Posted: 1/10/2006 7:08:55 PM EDT

Originally Posted By pale_pony:
damn, I was about to ask the same question.

I have a wierd partitioned HD with C=12gig and D=68gig and I'm running out of space on C and started putting programs on D too. Now I have duplicate programs all over the place. Any suggestions?



buy a new hard drive and transition over there.
Top Top