Skip to content

gitnol/PowerEverything3

Repository files navigation

Everything3 PowerShell Wrapper

German Translation / Deutsche Übersetzung

A powerful and user-friendly PowerShell wrapper for the Everything Search Engine (Version 1.5+). This module utilizes the Everything3_x64.dll from the Everything SDK to enable extremely fast file searches directly from the PowerShell console.

Tested with:

Table of Contents


Features

  • Fast Connection: Easy connection and disconnection from the Everything instance
  • Powerful Search: Support for complex queries, regex, case sensitivity, and more
  • Property Retrieval: Retrieve metadata such as size, creation date, and attributes
  • Simple Handling: Convenient wrapper function Find-Files for everyday searches
  • Connection Testing: Built-in function to test connection and display diagnostic information
  • VSCode Compatibility: Automatic handling of VSCode-specific DLL loading issues

Requirements

  • PowerShell 5.1 or higher. PowerShell 7.5.2 or higher is recommended
  • Everything v1.5a or newer must be installed and running
  • The Everything3_x64.dll (from the official Everything SDK) must be located in the same directory as the module

Quick Start

  1. Clone the repository:

    git clone https://github.com/gitnol/PowerEverything3.git
  2. Import the module into your PowerShell session:

    Import-Module .\Everything3-PowerShell-Wrapper.psd1 -Verbose
  3. Test the connection:

    Test-EverythingConnection
  4. Find files:

    Find-Files -Pattern "*.pdf" -MaxResults 10

Functions

Function Description
Find-Files A simple wrapper function for quick file searches
Search-Everything Performs detailed searches with all available options
Connect-Everything Establishes a connection to the Everything client
Disconnect-Everything Disconnects from the Everything client
Test-EverythingConnection Verifies the connection to the Everything instance and displays status information

Usage Examples

Simple Searches with Find-Files

Search for PDF and DOCX files:

Find-Files -Pattern "*" -Extensions @("pdf", "docx") -MaxResults 10

Search for files with properties (size, date):

Find-Files -Pattern "invoice*" -IncludeProperties -MaxResults 5

Regex search for image files with date pattern:

Find-Files -Pattern "regex:^\d{4}-\d{2}-\d{2}.*\.(jpg|png)$" -Verbose -MaxResults 10
# or
Find-Files -Pattern '^\d{4}-\d{2}-\d{2}.*\.(jpg|png)$' -Regex -Verbose -MaxResults 10

Advanced Searches with Search-Everything

Find the 5 largest files over 100 MB and sort by size:

# Manually establish connection
$client = Connect-Everything

# Execute search and sort by size in descending order
Search-Everything -Client $client -Query "size:>100mb" -MaxResults 5 -Properties "Size" -SortBy @{Property = "Size"; Descending = $true}

# Disconnect
Disconnect-Everything -Client $client

Find all files modified in the last 7 days:

$client = Connect-Everything
Search-Everything -Client $client -Query "dm:last7days" -MaxResults 10 -Properties "DateModified"
Disconnect-Everything -Client $client

Find empty files:

Find-Files -Pattern "size:0" -MaxResults 20

VSCode Considerations

The module includes automatic workarounds for VSCode-specific issues when loading native DLLs:

  • Automatic DLL Loading: The Everything3_x64.dll is explicitly loaded via Kernel32::LoadLibrary()
  • PATH Handling: The module directory is automatically added to the PATH
  • Error Handling: Robust handling of VSCode-specific parameter binding issues

These measures ensure that the module functions correctly in both the regular PowerShell console and VSCode.


License & Disclaimer

MIT

This project is provided without any warranty. Use at your own risk.

This project is not affiliated with VoidTools. All trademarks belong to their respective owners. This is a pure research and development project.

About

Powershell Wrapper for VoidTools Everything with SDK3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published