Search for executables across PATH, directories and drives — quickly from the command line or from your .NET code.
This repository contains two command-line tools and reusable libraries:
- WhatExec.Cli (full CLI / dotnet tool)
- WhatExec.Cli.Lite (PATH resolving only lightweight CLI / dotnet tool)
- WhatExec.Lib.* (C# libraries used by the CLIs and available as a NuGet package)
The CLIs are the primary entry point for most users. They are designed to be installed and run as dotnet tools.
Install (from NuGet):
-
Global install (recommended):
- WhatExec.Cli:
dotnet tool install --global WhatExec.Cli
- WhatExec.Cli.Lite:
dotnet tool install --global WhatExec.Cli.Lite
- WhatExec.Cli:
-
Per-user install:
dotnet tool install --tool-path ~/.dotnet-tools WhatExec.Cli
Update:
dotnet tool update --global WhatExec.CliRun the tools:
- Show help and available commands:
whatexec --help whatexec-lite --help
- Typical workflow:
- Use the CLI to search for an executable name, list matching files in PATH, or scan directories/drives for executables.
- See each CLI’s README for detailed subcommands and examples.
See the dedicated CLI READMEs for full usage and examples:
If you want to embed executable-search functionality in your .NET application, use the WhatExec.Lib libraries.
Install via NuGet:
dotnet add package WhatExec.Lib.AbstractionsInstall via NuGet:
dotnet add package WhatExec.LibDocumentation and implementation details are available in the library README:
Install via NuGet:
dotnet add package WhatExec.Lib.DependencyInjection- CLI-first experience for quick interactive discovery of executables
- Lightweight CLI for fast queries in constrained environments
- Reusable C# libraries for integrating executable discovery into apps and tools
- Search sources: PATH environment variable, specific directories, entire drives (configurable)
(See each CLI and the library README for exact feature lists and platform notes.)
- Install the CLI and run help to see commands:
dotnet tool install --global WhatExec.Cli whatexec --help
- Add the library to a project:
dotnet add package WhatExec.Lib
For concrete command examples and flags, consult:
Contributions are welcome! Please follow the contribution guidelines:
This project is licensed under the MPL 2.0 License. See the LICENSE file for details: