Winix.Files
0.2.0
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global Winix.Files --version 0.2.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local Winix.Files --version 0.2.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Winix.Files&version=0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Winix.Files --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
files
Find files by name, size, date, type, and content. Cross-platform find replacement with glob patterns, text/binary detection, JSON output, and AI discoverability.
find replacement (and works on Linux/macOS too).
Install
Scoop (Windows)
scoop bucket add winix https://github.com/Yortw/winix
scoop install winix/files
Winget (Windows, stable releases)
winget install Winix.Files
.NET Tool (cross-platform)
dotnet tool install -g Winix.Files
Direct Download
Download native binaries from GitHub Releases.
Usage
files [options] [paths...]
Walks one or more directories (default: .) and prints matching file paths to stdout — one per line by default.
Examples
# Find C# files
files src --ext cs
# Find text files only (skip binaries)
files . --text --type f
# Recently modified files
files . --newer 1h --type f
# Detailed listing (path, size, date, type)
files . --long --ext cs
# fd-style: skip hidden and gitignored, source files only
files . --gitignore --no-hidden --ext cs
# Compose with wargs to act on results
files . --glob '*.log' | wargs rm
# Structured output (NDJSON to stdout)
files . --ndjson | jq '.name'
# JSON summary to stderr
files . --ext cs --json 2>manifest.json
# AI agent metadata
files --describe
# Files between 1 KB and 10 MB
files . --min-size 1k --max-size 10M
# Find files modified more than 7 days ago
files . --older 7d --type f
# Absolute paths (useful in scripts)
files src --absolute --ext cs
# Null-delimited output (safe for filenames with spaces)
files . --glob '*.log' --print0 | xargs -0 rm
Options
| Option | Description |
|---|---|
-g, --glob PATTERN |
Match filenames against glob pattern (repeatable) |
-e, --regex PATTERN |
Match filenames against regex (repeatable) |
--ext EXT |
Match file extension, e.g. cs, log (repeatable) |
-t, --type TYPE |
Filter by type: f (file), d (directory), l (symlink) |
--text |
Only text files |
--binary |
Only binary files |
--min-size SIZE |
Minimum file size (e.g. 100k, 10M, 1G) |
--max-size SIZE |
Maximum file size (e.g. 100k, 10M) |
--newer DURATION |
Modified within duration (e.g. 1h, 30m, 7d) |
--older DURATION |
Modified before duration (e.g. 1h, 7d) |
-d, --max-depth N |
Maximum directory depth (0 = search root only) |
-L, --follow |
Follow symlinks |
--absolute |
Output absolute paths |
--no-hidden |
Skip hidden files and directories |
--gitignore |
Respect .gitignore rules |
-i, --ignore-case |
Case-insensitive matching |
--case-sensitive |
Case-sensitive matching |
-l, --long |
Tab-delimited detail output (path, size, date, type) |
-0, --print0 |
Null-delimited output (for xargs -0) |
--ndjson |
Streaming NDJSON to stdout (one JSON object per file) |
--json |
JSON summary to stderr on exit |
--describe |
Print machine-readable metadata (flags, examples, composability) and exit |
--no-color |
Disable colored output |
--color |
Force colored output |
--version |
Show version |
-h, --help |
Show help |
Size Units
--min-size and --max-size accept values with optional unit suffix: k (kilobytes, 1024), M (megabytes), G (gigabytes). No suffix = bytes. Examples: 500, 10k, 2M, 1G.
Duration Units
--newer and --older accept a duration: a number followed by s (seconds), m (minutes), h (hours), d (days), w (weeks). Examples: 30m, 1h, 7d.
Differences from find
| Behaviour | find | files |
|---|---|---|
| Default path | Required | . (current directory) |
| Name matching | -name '*.cs' |
--glob '*.cs' or --ext cs |
| Regex | -regex (anchored, varies by OS) |
--regex (filename only) |
| Type filter | -type f/d/l |
--type f/d/l (same) |
| Newer than | -newer <file> |
--newer 1h (duration-based) |
| Size filter | -size +1M |
--min-size 1M / --max-size 1M |
| Skip hidden | No built-in | --no-hidden |
| Respect .gitignore | No | --gitignore |
| Text/binary filter | No | --text / --binary |
| JSON output | No | --ndjson / --json |
| Windows | Not available | Yes |
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Runtime error (permission denied, invalid path) |
| 125 | Usage error (bad arguments) |
Colour
- Automatic: colour when outputting to a terminal, plain when piped
--colorforces colour on (overridesNO_COLOR)--no-colorforces colour off- Respects the
NO_COLORenvironment variable (no-color.org)
Part of Winix
files is part of the Winix CLI toolkit.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0 | 97 | 5/26/2026 |
| 0.3.0-rc2 | 100 | 5/10/2026 |
| 0.2.0 | 118 | 4/16/2026 |
| 0.2.0-test4 | 102 | 4/15/2026 |
| 0.1.0 | 113 | 4/2/2026 |