ES Command-Line Interface for Everything

repository·main·Indexed 42 days ago

https://github.com/voidtools/es

A command-line interface for the Everything search engine that enables high-speed file searches, file system change monitoring via a journal (requires Everything 1.5), and result exports in formats including CSV, JSON, TSV, and TXT.

Tokens
1.4K
Snippets
4
Records
10
Agent score
5%

What's inside ES CLI

  1. Basic Usage of ES CLI

    main

    The basic syntax for the ES command line interface is:

    es.exe [options] search text

    Example: Searching for all files with .exe or .ini extensions: es everything ext:exe;ini

    es everything ext:exe;ini
  2. Install ES CLI

    main

    To use es.exe from any directory in Command Prompt or PowerShell, extract the executable to the following location which is included in the Windows PATH environment variable:

    %LOCALAPPDATA%\Microsoft\WindowsApps

    es.exe
  3. General Options Reference

    main

    Commonly used utility flags:

    • -h, -help: Display help.
    • -instance <name>: Connect to a specific Everything instance.
    • -ipc1, -ipc2: Use IPC version 1 or 2.
    • -timeout <milliseconds>: Wait time for database load before querying.
    • -get-result-count: Display the result count.
    • -get-total-size: Display the total result size.
    • -reindex: Force Everything to reindex.
    • -exit: Exit Everything.
  4. Export Options

    main

    Export search results to specific file formats:

    • -export-csv <out.csv>
    • -export-efu <out.efu>
    • -export-json <out.json>
    • -export-m3u <out.m3u>
    • -export-m3u8 <out.m3u8>
    • -export-tsv <out.txt>
    • -export-txt <out.txt>

    Additional flags:

    • -no-header: Do not output a column header (for CSV, EFU, TSV).
    • -utf8-bom: Store a UTF-8 byte order mark at the start of the file.
  5. Search Options Reference

    main

    Use these flags to modify how the search is performed:

    | Flag | Description | | :--- | :| | -r, -regex | Search using regular expressions | | -i, -case | Match case | | -w, -ww, -whole-word, -whole-words | Match whole words | | -p, -match-path | Match full path and file name | | -a, -diacritics | Match diacritical marks | | -o <offset>, -offset <offset> | Show results starting from offset | | -n <num>, -max-results <num> | Limit the number of results shown to <num> | | -path <path> | Search for subfolders and files in path | | -parent-path <path> | Search for subfolders and files in the parent of path | | -parent <path> | Search for files with the specified parent path | | /ad | Folders only | | /a-d | Files only | | /a[RHSDAVNTPLCOIE] | DIR style attributes search (e.g., H for Hidden, S for System, D for Directory). Prefix a flag with - to exclude. |

    -r, -regex
    -i, -case
    -w, -ww, -whole-word, -whole-words
    -p, -match-path
    -a, -diacritics
    -o <offset>, -offset <offset>
    -n <num>, -max-results <num>
    -path <path>
    -parent-path <path>
    -parent <path>
    /ad
    /a-d
    /a[RHSDAVNTPLCOIE]
  6. Sort Options Reference

    main

    Control the order of search results using these flags:

    | Flag | Description | | :--- |:| | -s | Sort by full path | | -sort <name[-ascending|-descending]> | Set sort by name, path, size, extension, date-created, date-modified, date-accessed, attributes, file-list-file-name, run-count, date-recently-changed, or date-run | | -sort-ascending, -sort-descending | Set sort order | | /on, /o-n, /os, /o-s, /oe, /o-e, /od, /o-d | DIR style sorts (N=Name, S=Size, E=Extension, D=Date modified). Use - prefix for descending. |

    -s
    -sort <name[-ascending|-descending]>
    -sort-ascending
    -sort-descending
    /on, /o-n, /os, /o-s, /oe, /o-e, /od, /o-d
  7. Display and Formatting Options

    main

    Customize the output columns, format, and appearance:

    Columns:

    • -name, -path-column, -full-path-and-name, -extension, -size, -date-created, -date-modified, -date-accessed, -attributes, -file-list-file-name, -run-count, -date-run, -date-recently-changed

    Formats:

    • -csv, -efu, -json, -m3u, -m3u8, -tsv, -txt

    Other:

    • -highlight: Highlight results.
    • -highlight-color <color>: Set color (0x00-0xFF).
    • -size-format <format>: 0=auto, 1=Bytes, 2=KB, 3=MB.
    • -date-format <format>: 0=auto, 1=ISO-8601, 2=FILETIME, 3=ISO-8601(UTC).
  8. ES CLI Error Codes

    main

    The following return codes are used by es.exe:

    | Code | Description | | :--- |:| | 0 | No known error, search successful | | 1 | Failed to register window class | | 2 | Failed to create listening window | | 3 | Out of memory | | 4 | Expected an additional command line option | | 5 | Failed to create export output file | | 6 | Unknown switch | | 7 | Failed to send Everything IPC a query | | 8 | No Everything IPC window (ensure client is running) | | 9 | No results found (when used with -no-result-error) |

  9. Journal Options (Requires Everything 1.5)

    main

    Monitor index journal changes using these flags. Wildcards are supported in the filename-filter. Both the filename before and after the change are searched. Use \ to match full paths.

    • -journal [filename-filter], -j [filename-filter]: Show index journal changes.
    • -get-journal-id: Return current journal ID.
    • -get-journal-pos: Return current journal ID and next change ID.
    • -action-filter <actions>: Filter by actions (e.g., file-create;file-delete).
    • -watch: Return when a matching journal change is found.
    • -from-date <date>: Show changes starting from ISO-8601 date.
    • -changed-today: Show changes from start of today until start of tomorrow.