Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

In action

See it working

Short videos, all on the same made-up customers, which come with Xylem in the demo folder. Click one to see it larger.

A table of customers written by Batch as an HTML page, as a SQL script and as a SQLite database, with a preview before each one
Batch (Ctrl+B) writes the records of a table as anything: here a page, a SQL script and a SQLite database, each with a preview before a byte is written. Templates pick what to write, and each value is escaped for the kind of file, even the hostile names in this data.
A SQLite database: the list of tables, a filter on orders, a query joining two tables, and a DELETE refused
SQLite: Tab lists tables and views, & filters, and the same prompt takes a whole SELECT with JOIN. It only reads: a DELETE is refused.
The same data as a spreadsheet with two sheets, Parquet, JSON and DBF, then a web log filtered by a regular expression
Every format: a spreadsheet and its sheets, Parquet, JSON with colors, DBF, and a log filtered by a regular expression.
A Markdown file shown rendered, with its table and code block, and then as its source
Markdown opens rendered, with tables, code and each link showing its real address. T shows the source at the same place.
Groups of duplicate files, tagging all but one copy of each, and then two whole folders found to be equal
Duplicates (Alt+Y) finds equal files and whole equal folders. A tags all but one copy of each group, and nothing is deleted until you say so.