Skip to content
This repository was archived by the owner on Sep 23, 2026. It is now read-only.
paulbaucomPublic archive

About

A portable Windows x64 console utility for recursively comparing directories using SHA-256 file hashes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Recursive File Compare

A small Windows console utility that recursively compares two directories using SHA-256 hashes. Reports changed, new, and removed files, plus the number of identical files.

Download

Download for Windows x64, then extract the ZIP.

Run RecursiveFileCompare.exe from a terminal. No .NET installation is required. The license text files included in the ZIP are notices, not runtime dependencies.

Usage

.\RecursiveFileCompare.exe "C:\path\old" "C:\path\new"
.\RecursiveFileCompare.exe "C:\path\old" "C:\path\new" "subdirectory"
.\RecursiveFileCompare.exe --old "C:\path\old" --new "C:\path\new" --relative "subdirectory"
.\RecursiveFileCompare.exe "C:\path\old" "C:\path\new" --output "comparison.txt"

Run without arguments or with --help for help. Named options also accept --name=value. Do not mix named path arguments and positional paths; --output works with either form.

Files are matched by relative path, ignoring case. Every file is hashed; sizes and timestamps are not used as shortcuts. Hidden and system files are included. Directory symlinks and junctions encountered during traversal are not followed; file links are hashed through their targets. Empty directories are not compared. Unreadable files cause an error rather than an incomplete report.

The optional subdirectory must exist beneath both roots. The output file must be outside the comparison directories; an existing report is replaced. Reports use UTF-8 and CRLF line endings. Errors go to stderr. For consistent results, compare directories whose contents are not changing during the scan.

Exit codes: 0 = comparison completed (whether or not differences exist) or help displayed; 1 = invalid arguments/paths; 2 = comparison or report-writing failure.

Build

Install the .NET 10 SDK, then run:

dotnet publish -c Release -r win-x64 --self-contained true

The executable is in bin\Release\net10.0\win-x64\publish. Release builds are trimmed and compressed, with debug symbols disabled.

License

This project's source code is dedicated to the public domain under The Unlicense. No attribution is required for this project's code.

The self-contained executable also contains Microsoft .NET components, which retain their own licenses. Those components are not placed in the public domain by this project's dedication; their notices are included with release downloads.

About

A portable Windows x64 console utility for recursively comparing directories using SHA-256 file hashes.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages