Copyright: Copyright © 1998 Ziff-Davis Publishing Company
Citation: Copyright © 1998 Ziff-Davis Publishing Company


Overview

Version 1.1

Version 1.2

How many copies of VBRUN300.DLL does your computer hold? Chances are good that your hard disks are littered with duplicate files. Some have the same name, but may or not be identical. Some same-named files are different versions of the same dynamic link library or ActiveX control. Others are identical in content, but are stored under different names. Dupeless ferrets out duplicate files of every kind and helps you recover the disk space wasted on storing them.

The Options dialog lets you specify what criteria Dupeless should use in deciding whether a given pair of files are duplicates. It also lets you set the deletion method, choose the which drives to scan, and optionally set a starting directory for each drive. You can use the separate Exclusions dialog to screen out particular folders, filenames, or extensions.

When Dupeless has finished scanning for duplicates, it reports on all the sets of duplicate files in a grid. You carefully review the results and check off any that are unnecessary. When you're ready, Dupeless will get rid of the checked-off items and update its list. You can also save the list to a file, for your records.

What can you delete?


Duplicate Report Grid

Regardless of which comparison options you chose, Dupeless displays the name, path, size, and date/time stamp for each file. If you checked the Version option a fifth column will display version information, if available, for any 32-bit EXE or DLL files in the grid. All files in a group of duplicates will be displayed with the same background color. By default, the colors are alternating pale blue and yellow, but you can choose different colors in the options dialog.

Check the box at the far left of a row to indicate that you want this file removed. To check or clear a box, double-click anywhere in the corresponding row, or navigate to the desired row with the arrow keys and press Space. The context menu that appears when you right-click on a row also contains options to check or clear that row's box. The Check Group (Except One) option un-checks the selected row, but checks all other files in its group. You can also choose to clear all check boxes for the selected row's group.

Some searches will turn up dozens of matches. For example, a search by size may report many 0-byte files. A search by name may locate a huge number of files named README.TXT. To find out just how many items a group contains, right-click any item in the group and choose Count Group from the menu.


Tasks for Dupeless

By setting different options in the options dialog, you can use Dupeless to accomplish a variety of tasks. For example:

To look for different versions of the same file, check Name and Version only.

To look for copies of the same file, check Name and Size only.

To look for identical copies of the same file, check Name, Size and Contents only.

To look for unexpected identical files, check Size and Contents only.

You'll certainly find other tasks Dupeless can accomplish, but these are probably the most common.


How Dupeless Scans

The number of files on your system may be very large, and Dupeless needs to have information about all of them at once in order to seek duplicates. On a system with lots of files, Dupeless might well be unable to store all that information in memory. For safety, it uses disk storage instead.

During the scanning process, Dupeless creates a number of temporary files named DUPE$$$$.000, DUPE$$$$.001, and so on, in the same directory where the program is stored. It later merges these into a single file which it scans and then deletes. The files are recorded in such a way that duplicates (defined by the Options dialog) will always be together in the sorted file.

If exclusions are enabled and you have specified a list of folders to exclude, Dupeless will check each folder it encounters against that list, skipping any that match. If you have specified a list of filenames or extensions to exclude, Dupeless will check each found file and, if it matches either list, omit it.

If the Contents option is checked, Dupeless reviews each group of files that are duplicates based on the other options. It checks the contents of the files and retains only those that actually have the same contents. Note that this process may break a group of four or more files into two or more different groups. Comparing file contents requires reading the files, so when the Contents option is enabled the scanning process will take quite a bit longer.

When scanning is in process, the Abort Scan button and menu item are enabled. Pressing these will stop the scan, discard any partial results, and reset Dupeless to its pre-scan condition.


Deleting Unwanted Duplicates

Dupeless steps through the grid of files looking for check-marks. Depending on which deletion option you chose, when it finds a check-marked file it will

Permanently delete the file

Send the file to the Recycle Bin

Move the file to a "Dupe$$$$" folder in the root directory of the same drive

If Dupeless successfully processes a file, it deletes the corresponding line from its list; otherwise, it leaves the line in place, check-mark and all. Some files may no longer be duplicates after the deletion process, and these are removed from the list as well. Finally Dupeless adjusts the background colors for any remaining items so that the groups of duplicate files still alternate between the two background colors.


Save List To RTF File

You may wish to print the results of a duplicate search, or save them for later reference. Select "Save list to file" from the Action menu, or press the corresponding speed button. This will create a Rich Text Format (RTF) file named DUPELESS.RTF, in the same folder as the Dupeless program. Almost any word processor can import an RTF file. The results are displayed in a tabular form, similar to the grid display within Dupeless itself. Groups of duplicates are separated by a solid horizontal line, and items checked for deletion are marked as strikeout (like this).

You can load this list into your word processor, adjust the formatting any way you wish, and print it. The header on each printed page will indicate the date on which the search was performed as well as the criteria that were used in comparing files.


What can you delete?

Since the publication of Dupeless 1.0, many readers have asked for advice on just what they can safely delete. Here are some tips:

Be sure that the files you're considering for deletion are identical. To do that, just make sure you've checked "compare contents" in the Options dialog.

After checking off the items you intend to delete, but before performing the deletion, select Save list to file from Dupeless's Action menu, so you'll have a record of what you're doing. Rename the resulting DUPELESS.RTF file to another name, so it won't be overwritten.

Always send files to the Recycle Bin or DUPE$$$$ directory, and retain the deleted files for several weeks, until you're quite sure there have been no unwelcome side effects.

Data files: When Dupeless turns up duplicate data files, such as .DOC or .BMP files, you can always delete all but one. If your system includes any shortcuts to this data file, you may need to adjust the shortcuts to point to the remaining copy. Also, there may be lingering references to the deleted duplicates in the recent documents list (the Documents choice on the Start menu) or in the associated program's own MRU (Most Recently Used) documents list.

Program files: When Dupeless finds identical .EXE files, you can delete all but one of them. Doing so can "break" shortcuts (on the Desktop or Start menu) that point to one of the deleted copies. You may also find that the Explorer File Type for this program's data files includes a reference to one of the deleted copies. In this case, you can use PC Magazine's COA32 (Change Of Address) utility to change all system references from the deleted copy (or copies) to the remaining copy.

DLL files: If Dupeless finds identical .DLL files in multiple directories, the one to keep is the one in the Windows System directory. If no duplicate appears in that location, copy the .DLL into the Windows System directory. Delete all duplicates in other locations. Now test every program in whose directory you found a duplicate .DLL. Proper Windows programming requires that applications look first for shared DLLs in the Windows System directory. However, sometimes applications have another location hard-coded. In such a case, you'll need to copy the .DLL back from the Windows System directory to that program's own directory.


Options Dialog

The Options dialog lets you control Dupeless in several different ways

Comparison	how it defines duplicates

Drives	where it seeks duplicates

Deletion	how it handles discarding unwanted duplicates

Colors	how it displays its results

The Comparison and Drives options take effect on the next scan. The Deletion and Colors options take effect immediately.


Comparison Options

The five comparison options in the Options Dialog are interrelated in a number of ways. Most importantly, the set of options must include either Name or Size. If neither of these is checked, the OK button will be disabled. The Version option is only available when comparing by Name. If you clear the Name check box, the Version box will automatically be cleared. If you check the Version box, Name will be checked as well. When Version is checked, Dupeless will display the version number, if available, for duplicate 32-bit DLL and EXE files.

The Contents option is only available if you select Size. If you clear the Size check box, the Contents box will be cleared. If you check the Contents box, the Size box will be checked as well. This option causes Dupeless to refine its search of same-sized files and only report those with identical contents. To determine which of a group of same-sized files have identical contents, Dupeless first creates a 16-byte digest based on the first 4KB of each file. Then it compares the actual contents, byte by byte, for files that have the same digest. This process significantly increases the time required to search for duplicates. However, if you check only the Size and Contents boxes, you can turn up unexpected identical files - ones that have different names but identical contents.

The Date box will be disabled if both Size and Name are unchecked. With this box checked, two files won't be considered identical unless they also have the same DOS date/time stamp. In most cases, you should leave this check box blank. It is present simply as a refinement, in case the other choices produce too many apparent duplicates.

You use different option settings to handle different tasks.


Drive Options

The Options dialog lists all hard disks and floppy disks on your system, with a check box to the left of each. It does not list CD-ROMs, Network drives, or RAM disks. You decide which disks to scan by checking or clearing the boxes next to them. By default hard drives are checked, floppy drives are not. To check or clear a box, double-click anywhere in the corresponding row, or navigate to the desired row with the arrow keys and press Space. The context menu that appears when you right-click on a row also contains options to check or clear that row's box. Highlight any drive row and press the Browse... button to set a starting directory for searching that drive, or right-click the row and choose Browse from the context menu. The OK button will be disabled if you clear every single one of the check-boxes - you can't choose to scan without scanning somewhere!


Dupeless and Network Drives

Because many users requested this feature, Dupeless 1.1 permits scanning of any network drives that are mapped to drive letters on the system. This permits you to identify files that are duplicated between your local drives and your network storage. However, Dupeless 1.1 has no network-specific programming in place - it simply works through the drive mapping.

You are strongly advised NOT to use Dupeless to delete files on a network drive, because the exact result depends on the type of network and your access privileges. Attempting to send files on a network drive to the Recycle Bin may appear to succeed, but may actually result in permanently deleting them. Attempting to move them to the DUPE$$$$ directory may or may not succeed, depending on your access privileges.

Before attempting to use Dupeless to delete duplicate files found on network storage, consult your network administrator. You may wish to include a copy of the duplicates report, showing the files that you would like to delete.


Deletion Options

Depending on how you set the comparison options, the "duplicates" found by Dupeless may or may not be absolutely identical. Even if they are identical, one of your applications may depend on finding a file in a particular location. Dupeless's Options dialog offers three different ways to dispose of unwanted duplicates:

Delete permanently

Move toto Recycle Bin

Move to Dupe$$$$ folder

In most cases, you should not choose permanent deletion. Under Windows 95 or Windows NT 4, you can send the duplicates to the Recycle Bin. If you find you're still able to run all of your applications, then after a week or so you can feel free to empty the Recycle Bin. If you'd rather archive the duplicates, or if you're running Windows NT 3.51 (which has no Recycle Bin), you should use the third option. Instead of deleting a file, Dupeless will move it, with its full path, into a folder named Dupe$$$$, which it will create in the root directory of the same drive. For example, "C:\windows\system\useless.dll" would be moved to "C:\Dupe$$$$\windows\system\useless.dll". You can use your favorite compression program to archive the duplicates, if you wish. As with the Recycle Bin option, if you find that after a week or so none of your applications show any signs of needing the removed duplicates, you can delete the Dupe$$$$ folders.


Color Options

Dupeless uses alternating stripes of color to distinguish different groups of duplicate files. By default, the stripes are yellow and pale blue. However, the Options dialog lets you choose your own two favorite colors instead. Be sure to choose colors that are distinct from each other and contrast well with the text color.


Exclusions dialog

Using the Exclusions dialog, you can instruct Dupeless to ignore all files in and below a particular folder, all files that have a specific name, or all files with a particular extension. The first time you run Dupeless, it will insert its own folder and your TEMP folder into the list of folders to ignore. If you're running Windows 95, it will also add the SYSBCKUP folder, which is found in the Windows folder. You will probably want to add other particular folders to this list, such as the history and temporary folders used by your Internet browser. Note that hidden folders will not appear in the Select Directory dialog - however, you can type in the name of a hidden folder. If you enter the name of a non-existent folder, Dupeless will simply ignore it.

The list of filenames to ignore initially contains MSCREATE.DIR and ANTI-VIR.DAT. If you frequently use Dupeless to search for duplicates based on name alone, you may want to add other filenames to this list. You must add specific filenames; wildcards are not supported. The list of extensions starts off containing .$$$ and .TMP. It's quite common to find temporary files whose contents are identical to those of the corresponding permanent file. Again, wildcards are not supported.

If you wish to try scanning without exclusions, you don't have to empty the three lists. Rather, clear the Enable Exclusions check box at the top of the dialog box. However, regardless of whether exclusions are enabled, Dupeless will always exclude any directory named Dupe$$$$ or Recycled found in the root directory of a drive. Depending on the Deletion options chosen, the Dupe$$$$ folders may be created by Dupeless itself to hold unwanted duplicate files.


Version 1.1
Version 1.1 Features and Fixes

New features

Dupeless now permits scanning of CD-ROM and network drives. The drives list in the Options dialog has a column of drive icons representing removable disks, fixed disks, CD-ROM drives, and network drives. If any network drives are selected, however, you will receive a warning.

Now if you double-click a column heading in the duplicates list, it will automatically resize to accommodate the widest line in that column.

The file-size column is now right-aligned, for easier reading.

The Modified column now uses a date/time format with leading zeroes, for easier reading (for example 01/01/1998 01:01 AM).

For keyboard enthusiasts, four of the items on the right-click popup menu for the duplicates list now have keyboard shortcuts:

Shift+Ctrl+C	'Check One'

Shift+Ctrl+U	'Uncheck One'

Shift+Ctrl+X	'Check Group (Except One)'

Shift+Ctrl+G	'Uncheck Group'

(Note: These shortcuts initially had a bug that was fixed in version 1.2)

The main grid of duplicates now "tracks" with the scroll bar. That is, the list changes as you move the scroll bar rather than waiting for you to stop scrolling.

Fixes

Under Windows NT, if version info was requested and certain .EXE or .DLL files lacking version info were located as duplicates, the program would encounter an Access Violation and discard the report. Fixed.

Previously, if you started Dupeless for the first time, or for the first time after deleting DUPELESS.INI, and you closed it again without opening the Exlusions dialog, the default exclusions would be lost. Fixed.

Using the space bar to toggle checked/unchecked status in the duplicates list worked in all rows except the first. Fixed.

Dupeless was failing to ignore folders created by the Recycle Bin. Fixed.

If Dupeless attempted to report on a file whose date/time stamp was invalid, it would suffer an "exception" and discard the report. Fixed. "Invalid date" is now displayed.

Dupeless's ability to "remember" column widths was incomplete. When version info was selected, the Modified column would be reset to the default width. Fixed.


Version 1.2
Version 1.2 Features and Fixes

New Features

Because many users requested it, you can now check or uncheck the checkbox in the first column of the duplicates list by single-clicking on the checkbox. Double-clicking anywhere in the row still has the same effect. This is also true of the drives list in the options dialog.

Another common request involved making the selected cell in the duplicates list more easily distinguished from the rest. Because the background color is used by Dupeless to associate groups of duplicates, the usual technique of inverting the cell's color could not be used. However, in version 1.2 the text of the selected cell is displayed in boldface.

Fixes

One of the new features in version 1.1 was a set of shortcut keys corresponding to items on the popup menu that appears when you right-click the duplicates list. Unfortunately, as originally created these shortcut keys acted on the item under the mouse, rather than the selected item. Thus if you used the arrow keys to navigate and then used the shortcut keys, the wrong rows would be affected. Fixing this required changing the shortcut keys from Shift+Alt key combinations to Shift+Ctrl combinations.