Find executable scripts in a directory and allow to select which one to execute
Find a file
dependabot[bot] dd3dc51755
Some checks failed
CodeQL Analysis / Analyze (push) Has been cancelled
Github Actions(deps): Bump actions/checkout from 4 to 5 (#16)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 12:35:41 +02:00
.github Github Actions(deps): Bump actions/checkout from 4 to 5 (#16) 2025-08-18 12:35:41 +02:00
src NuGet(deps): Bump Spectre.Console from 0.49.1 to 0.50.0 in /src (#15) 2025-04-14 09:29:28 +02:00
.gitignore Add publish script 2022-03-14 12:18:16 +01:00
Directory.Build.props add Directory.Build.Props to use simplified build output 2023-11-14 19:28:12 +01:00
install-as-dotnet-tool.ps1 feat: rename executable to scrl 2023-01-27 16:27:08 +01:00
install-as-dotnet-tool.sh feat: rename executable to scrl 2023-01-27 16:27:08 +01:00
LICENSE initial commit 2022-03-09 22:42:40 +01:00
README.md fix missing default values 2024-10-25 11:04:07 +02:00
ScriptLauncher.sln add .sln file 2023-11-14 18:58:17 +01:00

Script Launcher

Find executable scripts in a directory and allow to select which one to execute.

Installation

As .NET CLI Tool

To be installed as a tool, you need the .NET CLI which is included in the .NET SDK

Install manually using the following commands or by using the provided installation scripts.

dotnet pack ./src -o ./nupkg
dotnet tool install -g ScriptLauncher --add-source ./nupkg --ignore-failed-sources

As a Standalone Executable

You will need the identifier of the .NET Runtime (RID) and the Target Framework Moniker (TFM) for your OS and Runtime.

# self contained: will not need the .NET runtime to function, bigger resulting size
dotnet publish -c Release --self-contained -p:PublishSingleFile=true -p:PublishTrimmed=true -f <TFM> -r <RID> -o <output-directory> ./src

# no self contained: will need the .NET runtime to be installed to function, smallest size
dotnet publish -c Release --no-self-contained -p:PublishSingleFile=true -r <RID> -o <output-directory> ./src

NOTE: The option -p:PublishTrimmed=true may produce some warnings. If so simply skip that option and the resulting executable will be larger

Usage

USAGE:
    scrl [path] [OPTIONS]

ARGUMENTS:
    [path]    Starting directory (Default: .)

OPTIONS:
                                     DEFAULT
    -h, --help                                  Prints help information
    -x, --extensions <EXTENSIONS>               List of script extensions to search for
    -d, --depth                      3          Search depth
    -e, --elevated                              Run with elevated privileges
    -g, --group                                 Group scripts by folder
    -b, --brief                                 Show brief information