Is there a piece of software that will compare two folders (and their subfolders) and produce a list of all the files that are in one folder but not the other?

Seb
Seb used Ask the Experts™
on
Is there a free software that will compare two folders (and their subfolders) and produce a list of all the files that are in one folder but not the other?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Business Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018
Commented:
Yes.  Beyond Compare. Scooter Software
Joe WinogradDeveloper
Fellow 2017
Most Valuable Expert 2018

Commented:
free software
Beyond Compare
Hi John,
AFAICT from their website, it's not free software. There are Standard and Pro editions, but neither is free. Do you have a link for a free edition? Regards, Joe
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018

Commented:
The problem at hand needs good file compare software. Beyond Compare is quite inexpensive and does the job. I do not know of any free software that will do what was asked.
OWASP: Avoiding Hacker Tricks

Learn to build secure applications from the mindset of the hacker and avoid being exploited.

NVITEnd-user support

Commented:
Directory Compare. Freeware. by Juan M. Aguirregabiria: http://tp.lc.ehu.es/jma/win95.html. Pick Directory Compare at left pane. I've been using it a long time. Works fine.
From author's site: Copyrighted material (see the copyright notice in the documentation for each program). But you can freely use and distribute them. You cannot sell them.

If you like shareware, Total Commander. $43. Commands > Synchronize Dirs > Compare
Joe WinogradDeveloper
Fellow 2017
Most Valuable Expert 2018

Commented:
The problem at hand needs good file compare software.
Can't argue with that! But since Seb asked for free software, I have two ideas:

(1) I've been using an excellent file manager called Total Commander for many years. It is shareware, not freeware, but you may download a fully functional version for a test period of 30 days (the website says, "After testing the program, you must either order the full version, or delete the program from your harddisk"). Total Commander has a feature called Synchronize Dirs on its Commands menu...works great!

(2) The second idea is truly free. I'm a big fan of the free AutoHotkey language. This Experts Exchange article explains how to download, install, and use it:
AutoHotkey - Getting Started

An AutoHotkey community member wrote a script called SuperSynchronizer, available for free. Here's a link to the AutoHotkey forum page for it:
https://autohotkey.com/boards/viewtopic.php?t=1288

That has a link to the member's GitHub page with the full source code:
https://github.com/cyruz-git/SuperSynchronizer

I haven't used SuperSynchronizer in production, since I have a multi-user, licensed copy of Total Commander, but I tested it in W7 Pro 64-bit and W10 Pro 64-bit, both with the latest release of AutoHotkey (1.1.30.00), and my experimentation with it has been 100% successful. I can't say that it is as robust as commercial programs like Beyond Compare and Total Commander, but it may be just the ticket for folks on a limited budget. It has a "simulation" mode, which you can run first to view in the logfile what files would have been copied in both directions during a live run. Regards, Joe
Top Expert 2016

Commented:
or the powershell way
$folder1 = get-childitem -Path G:\CMTP\CMTPHydration -Recurse
$folder2 = Get-ChildItem -Path G:\cmtp\ISO\Content\Deploy -Recurse

Compare-Object -ReferenceObject $folder1 -DifferenceObject $folder2

Open in new window

Martyn SpencerSoftware Developer / Linux System Administrator / Managing Director

Commented:
If you would like a graphical differencing tool, I find that Meld does the job well. Check out http://meldmerge.org/

Commented:
You can also try this PowerShell script which compares the directory and its subdir contents:

$path1 = "C:\Dir1\Sub1"
$path2 = "C:\Dir2\Sub2"
$Files1 = Get-ChildItem -path $path1 -Recurse -File
$Files2 = Get-ChildItem -path $path2 -Recurse -File
foreach ($file1 in $files1) {
	foreach ($file2 in $files2) {  
		If ($file1.Name -eq $file2.Name) {
			   break
		} else {
			Write-Host $file1.DirectoryName "\" $file1.Name " not found in" $path2
		}
	}
}

Open in new window

SebSystems Admin

Author

Commented:
I used Beyond Compare and Ultra Compare. Both works for me. -- Much appreciated!
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018

Commented:
Thanks. I have both the above here and Beyond Compare works great.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial