Local-first · Windows desktop · Tauri

Give your scripts a proper control panel.

Save scripts as reusable profiles, define exactly which inputs they accept, edit values before every run, and follow stdout, errors, and a selected log file in real time.

Why Script Runner

Repeatable jobs without fragile command copying

It is designed for scripts you run more than once: data imports, database maintenance, backups, report generation, file conversion, validation, deployment helpers, and internal automation.

01 · CONFIGURE

Describe the script once

Choose its path, interpreter, working directory, argument order, types, flags, defaults, and log-file input.

02 · REVIEW

Edit values safely

Select the saved script and use its generated form. Required values are validated and the exact command is previewed.

03 · RUN

See what is happening

Start or stop the job and monitor stdout, stderr, status, exit code, and appended log lines from one screen.

First run

From script file to reusable launcher

Choose New script

Name the profile and pick the script file. Profiles are independent: selecting a profile loads only the arguments defined for that script.

Choose an interpreter

Leave it as auto to infer from the extension, or enter a command such as cscript, powershell, python, node, or a custom executable available on PATH.

Add only the inputs the script expects

A script that needs no arguments needs no setup here. Otherwise, add one argument row per value or switch and order positional values exactly as the script expects.

Save, review, and run

Change values in the run form, verify the command preview, then Run. The saved defaults remain reusable for the next run.

Argument anatomy

Every row controls one command-line contribution

The argument name is a friendly label for humans. Type controls the input widget. Flag determines whether the value is positional or named. Required prevents an accidental blank run. Include parameter lets you omit an argument temporarily without deleting it.

Important: Script Runner does not guess a script’s interface. You define a schema for each saved script, so it works with VBS and with scripts written in other languages.
Annotated argument configuration row
Flags in depth

Three flag styles, three different command shapes

The final character of the Flag field determines whether Script Runner joins the value or passes it as a separate token.

Flag fieldValueGenerated argumentsUse when
--outputreport.csv--output report.csvThe parser expects a flag token followed by a value token, typical of Python argparse, Node CLI libraries, and many executables.
--output=report.csv--output=report.csvThe parser expects GNU-style joined syntax with an equals sign.
/join:_/join:_The script expects Windows/VBS-style named arguments joined with a colon.
emptyC:\InputC:\InputThe script reads values by position rather than by name.
--verbose + Booleantrue--verboseThe presence of the flag means enabled. When unchecked, nothing is emitted.

Python example

python import.py \ --source "C:\Data" \ --limit=500 \ --dry-run

Configure source as folder with --source, limit as number with --limit=, and dry-run as boolean with --dry-run.

PowerShell example

powershell cleanup.ps1 \ -Path "C:\Temp" \ -Days 30 \ -WhatIf

Flags without a trailing separator become separate tokens. Boolean WhatIf is omitted when unchecked.

VBS v6.1 example

cscript script.vbs ... \ /multirow \ /test \ /join:_

Boolean switches emit only when checked. The join string is attached because its configured flag ends in a colon.

Diagram showing positional argument order becoming command order
No flag means positional

Order positional values exactly

When Flag is empty, values are emitted top to bottom. Use the up and down controls in Edit Script to match the script’s documented argument order.

For VBScript, this commonly maps to WScript.Arguments.Unnamed(0), then Unnamed(1), and so on.

Avoid leaving a blank optional positional value in the middle unless the script explicitly supports that omission. Removing position 6 can cause the old position 7 to become the new position 6.
Complete reference

Every configuration and run option

Profile nameA memorable label shown in the script library.
Script pathThe VBS, PowerShell, batch, Python, shell, JavaScript, or executable file to run.
InterpreterAutomatic extension mapping or a custom executable command.
Working directoryOptional current directory used while the child process runs.
Argument nameA UI label only; it is not emitted unless also entered as a flag.
StringGeneral text such as table names, patterns, separators, and IDs.
NumberNumeric input for counts, limits, thresholds, ports, or timeouts.
BooleanEmits its flag when checked and is omitted when unchecked.
FileText path plus a native file picker. One file can be designated as the live log.
FolderText path plus a native folder picker.
FlagEmpty for positional; ordinary text for two tokens; end with = or : to join the value.
Default valueThe stored starting value, still editable before a run.
Include parameterTemporarily removes the argument from the command without deleting its configuration.
Required valueStops the run and identifies missing enabled values.
Log fileFollows newly appended text from the marked file during the run.
ReorderChanges the emission order, especially important for positional values.
Command previewShows the assembled command so the inputs can be reviewed before execution.
Run and StopStarts the child process or requests termination of the active run.
Live sourcesSeparately filter stdout, stderr, tailed file lines, and application status events.
Log controlsPause/resume autoscroll, copy visible lines, or clear the current view.
Status and exit codeShows starting, running, successful exit, nonzero exit, or spawn error.
Local persistenceProfiles are stored as JSON in the operating system’s application-data directory.
Live visibility

Follow the process and its log file together

Standard output and standard error are captured directly from the child process. If a file argument is marked Log file, Script Runner also watches it for newly appended text until the run ends.

Existing lines are not replayed—the tail begins at the file’s current end. This keeps each run focused on new activity.

Diagram showing stdout, stderr and file log lines in one stream
ExcelToSQLite v6.1

Complete profile example

The included v6.1 script demonstrates a mixed interface: nine positional values plus three named switches.

OrderNameSuggested typeFlagNotes
1Input folderFolderRequired
2Sheet patternsStringPipe-separated, e.g. datasheet|raw
3SQLite databaseFileRequired output database
4Final tableStringLetters, digits, underscore
5Log fileFileMark as Log file
6SQLite CLIFileOptional path to sqlite3.exe
7Header markersStringOptional pipe-separated list
8Mapping workbookFileRequired mapping Excel file
9Mapping sheetStringRequired worksheet name
SwitchMulti-row headersBoolean/multirowEmitted only when checked
SwitchTest modeBoolean/testNo database writes
Named valueJoin characterString/join:Produces e.g. /join:_
Platform notes

Cross-platform shell, platform-specific runtimes

Windows

VBS/VBE use cscript; PowerShell uses powershell; batch files use cmd. ExcelToSQLite v6.1 also requires Microsoft Excel COM automation and is Windows-only.

macOS & Linux

The Tauri app can be built natively. Python, shell, Node, direct executables, and PowerShell Core can run when their interpreters are installed.

Security

Only run scripts you trust. A configured script executes with the same operating-system permissions as the signed-in user.

Windows x64 · version 0.1.0

Ready to turn the next script into a reusable tool?

The installer contains the Script Runner desktop application. Windows may display an unrecognized-publisher warning because this build is not code-signed.

Download MSI ↓