With ExCompare, you can easily compare two folders, or two file archives (.zip, .rar, .7z... even .exe), or a folder against a file archive. ExCompare provides a fast mode to greatly reduce data read operations and save your time, when you are just trying to find out possible differences between a backup and its original folder or file archive.
For additional features, please continue to read this help document, or check ExCompare home page.
To start a comparison, click New Compare on top of main window, then drag two folders or file archives into the path boxes respectively, leave other settings in their default value, click OK. ExCompare will then start to examine and compare the two folders/file archives you specified. Wait for it to complete, then you will see all the differences it found in the main window.
Between tool buttons and result list, is the paths info line. It displays the "root" paths of two folders/file archives that were compared. Each path can have additional path levels that were skipped when option auto adjust path is enabled.
The major part in main window is the result list of comparison. It's divided into 2 parts horizontally for first and second paths, and keeps the file tree structure.
The list shows found differences or all sub-items. Right-click on any item in the list, a context menu will be shown. You also can double-click on an item to open the details window to check detailed information about the item.
Summary info shows total found differences. There can be following possible formats:
For example, in the screenshot of this section, the summary info
means there are totally 3 differences, 1 file/folder (winstate.ini) exists only in first path, 1 file/folder (uninst.exe) exists only in second path. Therefore, 3 - 1 -1 = 1 file/folder (CONFIG.ini) is different in two paths.Page navigation buttons can be used to switch pages, as the total items may not be able to be displayed in one page by the result list.
If you click on an item in result list, the status bar will show what properties (such as name, modified time, attributes) have been used for detecting differences for the item.
Note: the differences detected by ExCompare could be incomplete due to option fast mode. For example, even if file names and contents are both different, fast mode could have skipped content comparison, therefore only name difference is detected.
When you click "New Compare" on main window, the new compare window is displayed. This window also is displayed when you start a new instance of ExCompare, or click "History" on main window and pick a history entry.
Choose two folders or file archives, change the comparing options as you want, then click OK to perform a new comparison (or redo a history comparison).
Click
button to choose a folder or file archive for each path box, which will be compared by ExCompare when you click OK.This window supports drag & drop, so you can drag any folder, file from Windows Explorer and drop it to one of the path boxes.
Besides folders, ExCompare is designed to compare the contents of file archives, not the file archives themselves directly (Windows has provided a file compare tool - FC).
By default, ExCompare treats files specified in the path boxes as archives, and tries to extract them to compare files/folders inside.
With this option enabled, ExCompare no longer tries to extract the files specified in path boxes, instead, it compares the two files directly.
Apparently, this option can only be enabled when two paths are both files.
This option is enabled by default. Disable it to ignore case sensitive comparison for all file and sub folder names inside the chosen folders or files archives.
Enable this option to compare the modified time of files inside the chosen folders or file archives. Note this option only affects files. ExCompare doesn't care about modified time of folders.
Enable this option to compare the attributes (read-only, system, hidden etc.) of files inside the chosen folders or file archives. Note this option only affects files. ExCompare doesn't care about attributes of folders.
Let ExCompare automatically skip "insignificant" path levels, so that two paths can still match even if they have different depths.
See Auto adjust path.
Enable fast mode to save time and reduce data read operations when comparing large files insider the chosen folders or file archives. Basing on how the fast mode works, it can be affected by file name comparison, and options "Compare file modified time", "Compare file attributes".
See Fast mode.
With this option enabled, if the file names of a sub-item match text file extensions list, ExCompare tries to compare two files in text mode.
See Text mode.
Reset all the options in this window to their default values, which are the best settings in most cases.
When you double-click on an item in the result list of main window, the details window is displayed.
It shows all the properties of two sub-items in first and second path, and uses different text colors to indicate which properties were used to detect differences and which properties were ignored.
Those text colors can be different for different theme, but they follow rules that can be easily understood:
The two sub-items have same values in this property.
This property was used for detecting difference. And the two sub-items have different values, therefore they are different.
The two sub-items have different values in this property. But this property was not used for detecting difference.
It's either ignored by a comparing option (e.g. file modified time was ignored when option "Compare file modified time" not enabled), or ignored by other properties in fast mode (e.g. file names were different, so didn't need to compare file contents).
ExCompare can be started with command line parameters to perform comparison automatically, or simply setup the paths and options in the "New Compare" window. It's smart enough to output result to a command line prompt window where it's started from, when you set it to be running in background.
Command line syntax:
Excompare.exe path1 path2 +/-option +/-option ...
+/-option: One or more options. A plus sign (+) enables the option, while a minus sign (-) disables it. If you use an option without +/-, it is to enable the option (equal to +). If an option is not specified in command line, the default value is used.
Available options:
Those are the comparing options in New Compare window, e.g. file = "Treat two paths as files", apath = "Auto adjust path."
As mentioned above, if an option is not specified in command line, the default value is used. For example, "Name case sensitive" by default is enabled, so only
can disable it. You actually don't need to use or to enable it.Record this comparison to history list or not. Since by default every comparison will be recorded to history, use
to prevent saving to history.When using command line parameters to specify paths and options, by default the comparison won't start automatically. It just sets up the related options and displays the "New Compare" window, then waits user to click OK to start the comparison.
If you use
in command line, ExCompare will automatically start the comparison.Perform comparison in background. No user interface will be shown if
is used.If this option is enabled, ExCompare always automatically starts the comparison, even
was not specified, considering there is no way to start the comparison manually since UI has been completely hidden.With the option output to command line prompt (console) window for details.
, ExCompare returns a result code after it finished the comparison, which 0 = no difference and non-zero value = difference(s) found or operation failed. It also can output additional result info to command line prompt window when possible, seeFast mode can greatly reduce data read operations and save lots of time when comparing large files.
If you already knew that the two locations you are going to compare are mostly identical, e.g. one is a backup of another. But you are not sure if they are totally same, so you want to perform a quick check on them. Apparently, there is no need to compare every byte of each file in them.
With fast mode enabled, ExCompare can intelligently pick only parts of data to check, or even completely ignore data comparing.
Notes:
When two file (sub-items) names match text file extensions list (.txt, .h and so on, defined in config file), ExCompare tries to compare them in text mode, which means:
So two files can be seen as identical in text mode, even their sizes are different.
However, files with different encodings will always be seen as different. E.g. if you saved an ANSI text file as a UNICODE text file and compare them with ExCompare, they are different.
Even text mode is enabled and file names match text extensions list, ExCompare can still decide to compare the two files in binary mode, if they are too big. Text mode comparing can waste lots of time because it cannot work with fast mode. So, ExCompare checks the sizes of two files, and switch back to binary mode if any of them is too large.
Specific path levels can be considered insignificant for a folder or file archive.
For example, if you have a folder "X:\NewFolder\MyData", and it's the only sub-item of its parent folder NewFolder - there is no other file/folder in NewFolder except MyData. Then NewFolder is an insignificant path level, because MyData can be safely moved out of NewFolder to be X:\MyData, makes the NewFolder become an empty folder.
This happens to file archives more often. When you create an archive from a folder, the archive commonly will use that folder name as first level for all paths. Take "X:\NewFolder\MyData" as an example: if you create a zip file from MyData with 7-Zip, all your files actually are under the one and only folder MyData.
It can be a problem when you do comparison between, for example, the above zip archive and its original MyData folder. In the archive, every path is MyData\***. But in the original folder, every path is \***. They will be seen as different because the first level of paths doesn't match.
With auto adjust path option enabled, insignificant path levels are automatically skipped by ExCompare, thus it can ignore those redundancies and focus on "real" data.
Rules to decide if a path level is insignificant: (a) it is a folder, (b) it's not empty, (c) it has only one sub-item.
If ExCompare is started from a command line prompt or PowerShell window, with command line switch
, then in addition to returning an exit code (0 = no difference, non-zero = different or failed), it will also output comparison result to the command line prompt or PowerShell window. The result is in format like:0 - Succeeded
1/3/1 Differences
Where the first line is result code, and second line is the found differences in format of [first only]/[total diffs]/[second only]. If there is no difference, it can be:
0 - Succeeded
0/0/0 No difference
It can also be only one line if operation failed:
0x00000003 - The system cannot find the path specified: ***
When using ExCompare to output result to console window, we normally should let the console wait for ExCompare to finish its work, before continuing to next command. For example:
start /Wait excompare.exe path1 path2 +hide