^HW — Host Directory List
Plain English
**Direction: printer → host**, not host → printer. The printer enumerates files on the chosen storage device and sends a plain-ASCII listing back over the **same connection that issued the command** — TCP socket, USB serial, parallel, etc. Where `^WD` (Print Directory Label) wastes a label on the same data, `^HW` keeps the result programmatic and machine-parseable. Output rows give filename, size, and type per Zebra firmware format. Storage device and filename pattern follow the standard `d:o.x` form: `R:` RAM, `E:` flash (default), `B:` optional memory, `*` aggregates all; `*.GRF` / `*.ZPL` / `*.*` filters by extension.
When to use
For host-driven inventory of stored assets — fleet-management tooling polling each printer to verify a logo / template / font is present before shipping a print job that recalls it. Pair with `^HV` for value verification or `^HL` for RFID log read-back. Always send `^HW` over a connection where the host application is **actively reading the response** — fire-and-forget over a print-only socket loses the data. For the user-visible (label-printed) variant, see `^WD`.
Syntax
^HWd:o.x
Parameters
| Parameter | Description |
|---|---|
d | Storage device: `R:` RAM, `E:` flash (default), `B:` optional memory module, `*` all devices |
o.x | Filename pattern with wildcards: `*.*` (everything), `*.GRF` (graphics), `*.FNT` (fonts), `*.ZPL` (formats) |
Example
^XA ^HWE:*.GRF ^XZ
Requests a list of every `.GRF` graphic on onboard flash. The printer sends the listing back over the same TCP/USB/serial connection that received the format. The host application reads the response off that socket — useful before triggering a print job that recalls a stored logo. For the printed-label equivalent see `^WD`.