Comparing files between two different hard drives: Finding files that are not duplicated

I have an external hard drive that contains a bunch of old back-up files.  I also have an internal hard drive in my Windows XP box.  Is there some utility that will allow me to find out which files (if any) on the EXTERNAL drive are not also present on the INTERNAL hard drive?

Note that this is the opposite of duplicate-checking -- I'm looking for a list of files that are NOT duplicated.  My expectation is that all (or almost all) of the files on the external drive are also present on the internal drive.  A list of duplicates would be horribly long.

I've heard that a utility called Total Commander can do all sorts of fancy file comparisons, but I'm really looking for any solution (freeware is better, obviously).

Who is Participating?
ocanada_techguyConnect With a Mentor Commented:
Some excellent suggestions.  I have another:
If you run SyncBack by you can run a job in SIMULATE mode and it will show which files would be copied.  It has numerous options for choosing to copy from A to B, B to A, or sync A and B, and looking at size and timestamps, and what to do if something's on A not B, whether to prompt etc.  I think you'll find it's pretty nice and free.  One thing though, the free version, the logfile (it's multiple html pages actually) is in the program folder but it gets overwritten the next time you run the job so you'll want to copy and paste the logfiles.

Robocopy, included in windows, and an update with a GIU front end free to download from Microsoft, has one teeny advantage IF/when you go to do the actual copying.  See, most every program, oh sure they copy the datetime of the files, but not the folders.  When you copy, when it has to create folders in the target tree to accomodate files the datetimestamp on the folders gets "now" on the target instead of the same datetime as the same folder on the source.  robocopy actually has command-line switches/options to copy the datetimes of folders too.  And, a big plus is robocopy can copy ACLs, the complex permissions set on files and folders too.  One bit of advice, save your output to a logfile, and adjust the number of attempts/retry timeout on fails to copy or you'll be wasting many many minutes on each and every file it has a problem copying such that when there is problems the job could take a day.
You can use an application named winmerge, it allows you to compare two paths, and tell you about the differences between folders, and files also.
You could also use Beyond Compare from
This tool will also list any differences in the files matched. And others as new.
Use Folder comparison than File comparison. Beyond compare could used in full 30 trial days.
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

You already talked about Total Commander: it's one of the very few commercial tools I ever bought and never resented buying. But you can use the evaluation version without any restriction as well:

I recently discovered a free clone of Total Commander that is almost as good as the original: Free Commander -
It also has an option Folder > Compare folders and Folder > Synchronize folders.
Heatsoft has 2 products that may suit your needs. Clone Cleaner Pro or Heatsoft ACDS. Both feature tools for locating and compare files with powerful filtering.

You can download at

Good luck and post your updated comments.
chernavskyAuthor Commented:
Thanks for all the tips.  Looks like some interesting tools there!  I won't be able to test any of them for a few days.  I'll report back by the end of the week, if not earlier.

Thanks again.
Hi Chernavsky.

Here is something that is free:

2. Copy the code below and paste it onto NOTEPAD.EXE.
3. Save the text file to C:\WINDOWS\CHKDIR.BAT

To use the above utility, open a command prompt and type the following command:


You can also create a text file out of the resulting list:

CHKDIR "C:\DIR1" "D:\DIR2" > mylist.txt

This will create a list on the current folder that can be examined further using NOTEPAD.EXE or any text editor.

Hope this helps.

Feel free to change the batch file if you wish a more detailed list (like date/time, size, etc.).
@echo off
if "%1" == "" goto :usage
if "%2" == "" goto :usage
if "%3" == "" ( SET FILEPAT=*.* ) ELSE ( SET FILEPAT=%~3 )
if "%CHKDIR1:~-1%" NEQ "\" SET CHKDIR1=%CHKDIR1%\
if "%CHKDIR2:~-1%" NEQ "\" SET CHKDIR2=%CHKDIR2%\

echo Files found in %CHKDIR1% that are missing in %CHKDIR2%
for /r %CHKDIR1% %%f in (%FILEPAT%) DO CALL :CHKEXISTS "%%f"
GOTO :end

SET __DISP=%~1
SET __DIR1=%CHKDIR1:~0,-1%
SET __DIR2=%CHKDIR2:~0,-1%
GOTO :eof

echo Usage: CHKDIR [drive1:]path1 [drive2:]path2 [file pattern]
echo   Ex.: CHKDIR "C:\DIR1" "F:\"
echo   Ex.: CHKDIR "C:\Users\My Name\My Documents" "D:\My Documents" *.docx


Open in new window

P.S. No need to install anything other than writing a batch file.
chernavskyAuthor Commented:
Thanks for all the tips, and sorry about the delay in replying.  Some of the other solutions might have worked as well, but I chose the SyncBack option, as posted by "ocanada techguy".  Thanks again for all the help.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.