HashCatalog is a program that can find duplicate files in one or more folders or between two lists of one or more folders. HashCatalog supports a regular expression mask to select files to be evaluated for duplicates. HashCatalog will always recurse directories in search of files. HashCatalog can also create an XML file containing a listing of files, along with enough information to be able to determine duplicates. This XML file can be used to allow searches for duplicates against removable media. The catalog can be supplied to the list of search locations, along with individual files and folders. The hash methods supported are: MD5, SHA, SHA1, SHA256, SHA384, and SHA512.
JCmdLineProgress is a Java library to assist with progress reporting on the command line. Using simple hooks, a program can send progress messages and status information to the command line. Also, text based "spinners" can be used to provide visual confirmation that a long running but quiet program is still running. A working example is provided.