teamy-mft 0.5.1

TeamDman's Master File Table CLI and library for NTFS.
docs.rs failed to build teamy-mft-0.5.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Teamy MFT

crates.io

Command-line toolkit for interacting with the NTFS Master File Table on Windows.

Installation

cargo install --path .

Demo

YouTube demo

# Sync the MFT for all drives (auto-elevates via UAC if needed)
teamy-mft sync

# Inspect cache freshness for the indexed query files on each drive
teamy-mft status

# Query indexed paths
teamy-mft query ".mp4$ album" ".opus$ album" ".mp3$ album"

Library Usage

use teamy_mft::cli::command::query::QueryArgs;

fn main() -> eyre::Result<()> {
    // Find all git repositories on the machine
    for path in QueryArgs::new(".git$").invoke()? {
        if let Some(repo_root) = path.parent() {
            println!("{} ({})", repo_root.display(), path.display());
        }
    }
    Ok(())
}

See examples/query_git_repos.rs for a runnable version.

CLI

❯ teamy-mft --help     
teamy-mft.exe 0.5.0 (rev 12b4a4f)

Teamy MFT command-line interface.
Environment variables:
- `TEAMY_MFT_SYNC_DIR`: override the persisted sync directory for commands that read cached data.

USAGE:
    teamy-mft.exe [OPTIONS] <COMMAND>

OPTIONS:
        --debug
            Enable debug logging
        --log-filter <STRING>
        --log-file <STRING>
        --json <STRING>
            Emit structured JSON logs alongside stderr output.
        --console-pid <U32>
            Console PID for console reuse (hidden)
    -h, --help
            Show help message and exit.
    -V, --version
            Show version and exit.
        --completions <bash,zsh,fish>
            Generate shell completions.

COMMANDS:
    sync
            Write .mft and .mft_search_index files (will auto-elevate via UAC if not already running as administrator)
    status
        Show per-drive cache freshness for `.mft` and `.mft_search_index` files
    list-paths
            Produce newline-delimited list of file paths for matching drives from cached .mft files
    get-sync-dir
            Get the currently configured sync directory
    set-sync-dir
            Set the sync directory (defaults to current directory if omitted)
    query
            Query indexed file paths (substring match) across cached `.mft_search_index` files


Implementation:
    src\cli\mod.rs
    https://github.com/TeamDman/teamy-mft/blob/12b4a4f/src/cli/mod.rs