hashdir 1.4.0

dotnet tool install --global hashdir --version 1.4.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.4.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=hashdir&version=1.4.0
                    
nuke :add-package hashdir --version 1.4.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 50 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|md5|ripemd160|sha1|sha256|sha384|sha512>  The hash function to use [default: sha1]
  -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.4.0 131 2/9/2025
1.3.2 171 5/25/2024
1.3.1 345 11/20/2023
1.3.0 292 3/8/2023
1.2.0 491 8/30/2022
1.1.0 513 4/22/2022
1.0.0 499 3/14/2022
0.5.0 441 7/18/2021
0.4.0 432 4/4/2021
0.3.0 531 3/21/2021
0.2.0 415 2/2/2021
0.1.0 612 1/11/2021