hashdir 1.5.0

dotnet tool install --global hashdir --version 1.5.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local hashdir --version 1.5.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=hashdir&version=1.5.0
                    
nuke :add-package hashdir --version 1.5.0
                    

hashdir

build test codecov

sample terminal usage

A command-line utility to hash directories and files.

hashdir aims to be the easiest way to hash a file/directory. This is useful in many situations such as transferring files, archiving data, or detecting duplicates. It is a single binary, works on all major OS's, and has a simple command-line interface. It is developed with F# on .NET 8.

Links: Github, NuGet, Project Site

Installation

There are several ways to get hashdir. Full details can be found here.

  • Homebrew*: brew install ultimateanu/software/hashdir
  • dotnet: dotnet tool install --global hashdir
  • Scoop: scoop bucket add ultimateanu https://github.com/ultimateanu/homebrew-software; scoop install hashdir
  • Stand-alone binary: latest version for macOS, Windows, and Linux can be found at releases
  • AUR (Arch User Repository): If you are using an Arch-based distribution, you can build and install the hashdir package from the AUR

*Homebrew currently requires a project to have 75 stars to be included in core. So I’ve set up a custom tap for now that still allows easy installation. If you like this project, please consider starring on Github and adding a formula to Homebrew core eventually.

Usage

Description:
  A command-line utility to hash directories and files.

Usage:
  hashdir [<item>...] [command] [options]

Arguments:
  <item>  Directory or file to hash/check

Options:
  -t, --tree                                                                      Print directory tree
  -s, --save                                                                      Save the checksum to a file
  -a, --algorithm <blake3|crc32|md5|ripemd160|sha1|sha256|sha384|sha512|xxhash3>  The hash function to use [default: xxhash3]
  -i, --include-hidden-files                                                      Include hidden files
  -e, --skip-empty-dir                                                            Skip empty directories
  -n, --ignore <pattern>                                                          Directories/files to not include
  -h, --hash-only                                                                 Print only the hash
  -c, --color                                                                     Colorize the output [default: True]
  --version                                                                       Show version information
  -?, -h, --help                                                                  Show help and usage information


Commands:
  check <item>  Verify that the specified hash file is valid.

Examples

  1. Hash a file/directory: hashdir ~/Desktop/project/
  2. Hash a directory with hidden files and print tree: hashdir --include-hidden-files --tree ~/Desktop/project
  3. Hash multiple items using MD5: hashdir -a md5 song.mp3 info.txt report.pdf
  4. Hash a directory, but ignore certain directories/files: hashdir --ignore "node_modules" --ignore "**/*.xml" ~/Desktop/project

License

MIT License

hashdir is an open-source project with a permissive license. If you find a bug or have suggestions feel free to create an issue on Github. Any contributions to the code, tests, or documentation are also welcome via a pull request.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.5.0 84 12/28/2025
1.4.1 171 8/16/2025
1.4.0 176 2/9/2025
1.3.2 208 5/25/2024
1.3.1 378 11/20/2023
1.3.0 358 3/8/2023
1.2.0 566 8/30/2022
1.1.0 589 4/22/2022
1.0.0 569 3/14/2022
0.5.0 521 7/18/2021
0.4.0 515 4/4/2021
0.3.0 616 3/21/2021
0.2.0 496 2/2/2021
0.1.0 761 1/11/2021