@zelgadis87/file-finder
v1.0.4
Published
Find files with a certain name within a given folder tree
Downloads
7
Maintainers
Readme
@zelgadis87/file-finder
Find files with a certain name, within a given folder tree.
Similar to the find Unix command, but portable and with different search capabilities.
Usage from the CLI
How to use:
Use without installation:
npx @zelgadis87/file-finder <FILENAME> [FOLDER]
This will always use the latest version of file-finder.
Use a globally installed version:
First install file-finder
with:
npm install -g @zelgadis87/file-finder
Then, to use, type:
@zelgadis87/fle-finder <FILENAME> [FOLDER]
This will use the globally installed version. You will need to manually update when a new version is available, using:
npm install -g @zelgadis87/file-finder
Arguments
FILENAME
: (required) The name of the file to search for (case insensitive). By default, search for files containing the given string (can be overridden by--exact
).FOLDER
: (default: .) The folder from where the search should be started. By default, the current folder.
Flags
-e
,--exact
: Use strict filename matching (case insensitive). Only files exactly equal toFILENAME
(extension included) will be returned.-r
,--recursive
: (default: false) If true, will also traverse subfolders.-n
,--maxDepth=maxDepth
: (default: 0) The maximum number of subfolders to traverse. By default stops in the current folder. Use--recursive
for infinite.--relative
: (default: false) If true, output will display as relative paths to the current folder.
Examples:
> $ npx @zelgadis87/file-finder README
> /current/file/path/README.md
> $ npx @zelgadis87/file-finder README.md --relative --exact
> README.md
> $ npx @zelgadis87/file-finder README.md --relative --maxDepth=1
> README.md
> lib/README.md
> $ npx @zelgadis87/file-finder README node_modules --relative --recursive
> node_modules/a/readme.md
> node_modules/b/README
> node_modules/c/docs/README.md
Programmatic usage:
Inside your Node project, type:
npm install @zelgadis87/file-finder
When needed, require file-finder and use it's find
method:
let FileFinder = require( '@zelgadis87/file-finder' );
new FileFinder().find( folder, filename, opts );
This will result in a Promise
, which will be eventually resolved with a list of files matching the given inputs.
Arguments:
folder
: Is the relative or absolute folder where the search should start fromfilename
: Is the name of the file you are searching for.opts
: [optional]opts.maxDepth
: (default: 0) is the maximum number of nested subfolders traversed. Use -1 for infinite.opts.exact
: (default: false) whether or not searches for files matching exactly the given name (case insensitive). If false, a contain matching is performed.opts.relative
: (default: false) if true returns the relative path to the matched files, otherwise the full path is returned.