||DirComp - Utility to compare two directories|
|Introducion||The main window||Dialogs|
The utility XDirComp compares two directories (and - if specified - their subdirectories), where the comparison can be done both by existence and by date (of change; from now on called "timestamp") or contents.
It displays a list of changed files, with the date(s) of the last change and an information, how the files differ.
It is possible to compare directories over a network. To do so, one must start DirComp (the commandline tool) as server on the target machine (option S) or as daemon (option D). The respective directory is then specified as <Server>:<directory>[:<port>]. An example would be:
On the target prod one has to start the utility like so:
DirComp -D 4711
To show occuring errors (and not to only write them into the system-log), the option D could be replaced with S. The default-port for the communication is 31336.
Use this feature with care as it might provide an attacker with information about your directory-structure and the installed programs! That's exactly the reason why you must enable it at compile-time.
A started comparison can be interrupted any time.
This program is distributed under the terms of the GNU General Public License; in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The input can be done directly in the main window. Specify in the first line the directory with the original version. Below follows the directory of the copy/changed version. Both input fields extend the input to the first found matching directory (equal to modern browsers).
The result of the comparison is shown in the list below. This list has 4 columns:
File: Name and (relative) Path of the found file. This column also contains an icon describing the typ of the file.
Original time: Last modification time of the original.
Comparative time: Last modification time of the compared file.
Status: Describes how the copy/changed version differs from the original. Possible values are:
The shown files can be manipulated by clicking them with the right mouse button (e.g. opened in an editor, deleted, renamed or - if a file with the same name has been found - also compared or copied).
The status bar informs about the current activity of the programm or about the result of the last comparison.
The program has two menu branches and a help menu:
Starts the comparison. This menu is only available, if both directories have been entered and no comparison is actually performed.
Ends the actual comparison. This menu is only available, if a compare is actually performed.
Saves the result of the last performed comparison without any formatting. This menu is only available, if a comparison has already be performed.
Prints the result of the last performed comparison as ordinary text without any formatting. This menu is only available, if a comparison has already be performed.
Exits the application - even if a comparison is actually performed.
Shows all files, which only appear in one of the two directories (e.g. are either added or deleted). This is the default.
|Show changed files|
Shows all fies, which have been changed in between the two version (e.g. are either older or younger). This is the default.
|Show equal files|
Shows all files, having the same timestamp (and - if specified - the same content).
|Show changed dirs|
Includes directories in the output. Generally they are ignored as their timestamps usually don't matter.
|Show hidden files|
Add hidden files to the comparison. In UNIX-systems those are files starting with a dot (.), other operating systems (as DOS (including the popped upt graphical error collection)) use a special flag of the file system.
After comparing a directory recurse into the included subdirectories.
|Search equal subdirs|
After comparing a directory recurse into subdirectories which exist in both directories.
If two files (with the same name) also have an equal timestamp and size check also their content.
Compare the content of (equal-named) files with equal size, even if the timestamp differs.
Opens a dialog in which the files to respect in the comparison can be entered. See the description of the file-selection dialog for details.
Opens a dialog in which the directories to respect in the comparison can be entered. See the description of the directory-selection dialog for details.
If you add directories that way (no matter if included or excluded), the option Search subdirs is set automatically.
Opens a dialog in which the lower border of a time range can be specified. See the description of the time range dialog for details.
Opens a dialog in which the upper border of a time range can be specified. See the description of the time range dialog for details.
This dialog enables the input of files (or directories) to respect in the comparison.
The wildcards asterisk (*) (means "any zero or more characters in this position") and the question mark (?) (matches any single character) are supported. By specifiying characters or ranges of charachters in square brackets (([) and (])) filenames can be restrict more specifically. This selection can be inverted by specifying the caret (^) as first character in the list.
Wildcards are supported in more levels for directories; e.g -I*/?O includes all subdirectories in the second level, which ends with an O at the second position; -XLinux/* does not compare all subdirectories from Linux.
The nodes are inspected in the same order they are added - this means one should add first the more common values.
The created list can be manipulated with the buttons Up, Down and Delete.
This dialog enables the selection of a date and a time. Only files which are included in this range (including the limits itself) are respected in the comparison.
A missing value for one of the limits is interpreted as lowest or highest date the system supports.
WARNING: If there are two files with the same name and only the timestamp of one is in the range, it will be reported as New or Deleted (depending where it was found). This means, files outside the limit don't exist (for the utility)!