The program was designed with the goal of:
- Scanning files in to a database, the database can be saved to a disk file and later reloaded and “processed”.
- A scan can be “interrupted” and then resumed at some later point.
- Finding duplicate (same hash checksum) files in a given database.
- Comparing two databases and identifying files that are in both databases.
It can also indicate whether a given folder is itself duplicated, partially duplicated or unique.
“Processing”: the program supports:
- Scanning more files in to a given database.
- Removing folder/files from the database but not the file system.
- Removing folder/files from the database and deleting them from the file system.
- You can synchronising a database with the file system, thus:
- Removing entries for folder/files that are no longer existent
- Add folder/files that are “new”.
- Update the checksum for files whose content has changed.
Other features include:
- Drag and drop: you can drop folders / files and they will automatically be added to the database.
- Internal mechanisms will prevent a given disk file from having multiple entries in the database.
- Sophisticated (?) path and filename search capability
- A full 2TB USB 2.0 disk scan takes about 10 hours, depending on the file sizes and whether the virus scanner is activated.
- A disk based database can be “loaded” as a memory only database. This runs much quicker than a disk based database.
- Memory based databases can be saved to the disk file system.
What it specifically can not do, is merge two databases in to one. This is tricky since it must be able to ignore duplicate file entries, but what if the duplicate entries have different checksums. Which entry is the one to be kept. I am working on supporting a database merge function, but so far I am not too happy.
Oh, if you want to see the internal structure, or browse through the entries, then the SQLite Utility can be used on a disk based database file.
If you really really want to (why not!), you can download theRIPE Forth like interpreter and the source code for this application and modify/customise it!