fsscannerdeprecated

File/directory finder

Usage no npm install needed!

<script type="module">
  import fsscanner from 'https://cdn.skypack.dev/fsscanner';
</script>

README

Install

Lib

npm install fsscanner --save

CLI

npm install fsscanner -g

Lib usage

const fsScanner = require('fsScanner');

fsScanner.scan(dir[, criterias], callback)

  • dir <string>
  • criterias <criteria[]>
  • callback <Function>
    • err <Error>
    • results <string[]>

fsScanner.criteria.type(type)

  • type <string>

[D|F] D - directory, F - file

const directoryTypeCriteria = fsScanner.criteria.type('F');

fsScanner.criteria.pattern(pattern)

  • pattern <string>

Regular expression to test file/directory name

const patternCriteria = fsScanner.criteria.pattern('.txt');

fsScanner.criteria.minSize(size)

  • size <string>

Minimum file size [B|K|M|G], skipped for directories (B - bytes, K - kilobytes, M - megabytes, G = gigabytes)

const minSizeCriteria = fsScanner.criteria.minSize('1G');

fsScanner.criteria.maxSize(size)

  • size <string>

Maximum file size [B|K|M|G], skipped for directories (B - bytes, K - kilobytes, M - megabytes, G = gigabytes)

const maxSizeCriteria = fsScanner.criteria.maxSize('100M');

Example:

const fsScanner = require('fsScanner');

const criterias = [fsScanner.criteria.pattern('.js'), fsScanner.criteria.type('F'), fsScanner.criteria.minSize('1000K')];
const dir = '/Users/admin/projects';

fsScanner.scan(dir, criterias, (err, results) => {
    err ? throw err : console.log(results);
});

CLI usage

Usage: fsscanner [dir] [options]
 
Options:
    --DIR (required) base lookup directory
    --TYPE (optional) [D|F] D - directory, F - file
    --PATTERN (optional) regular expression to test file/directory name
    --MIN-SIZE (optional) minimum file size [B|K|M|G], skipped for directories
    --MAX-SIZE (optional) maximum file size [B|K|M|G], skipped for directories
    (B - bytes, K - kilobytes, M - megabytes, G = gigabytes)

Parameters order is not strict.

Examples

index.js --DIR="/Users/admin/projects" --PATTERN=\.js
index.js --DIR="/Users/admin/projects" --TYPE=D
index.js --PATTERN=\.jpg --TYPE=F --MIN-SIZE=10M --DIR="/Users/admin/projects"

Output example:

admin$ fsscanner --PATTERN=\.js --TYPE=F --MIN-SIZE=100K --DIR=/Users/admin/projects/fsscanner
/Users/admin/projects/fsscanner/cli.js
/Users/admin/projects/fsscanner/criteria.js
/Users/admin/projects/fsscanner/index.js