filesearch-windows

1.0.5 • Public • Published

Windows: schnell Dateien und Ordner finden

LICENSE LICENSE

Mithilfe des SYSTEMINDEX von Windows und der Powershell in Sekundenschnelle Dateien und Ordner finden.

Getestet unter

  • Windows 10
  • Windows 7
  • Powershell 5

Getting start

npm i --save filesearch-windows
const Search = require("filesearch-windows");
const search = new Search();

Suchen

search
    .match("*2019*") // "2019" im Namen der Datei
    .path("C:\\users\\tom") // Pfad
    .excludefolder([".git", "node_modules"]) // Ordner ignorieren
    .size(">=1m") // Größer als ein MegaByte
    .created(">= 10 Days") // In den letzten 10 Tagen erstellt
    .ext([".png", ".jpg"]) // Nur .png und .jpg Dateien
    .kind("picture") // Verfügbar: new Search().getKinds()
    .ignore("*_erlin*") // Dateien die zB. Berlin oder berlin im Namen haben werden aussotiert


// Suche starten
const result = search.sync().toJSON();

// ODER

search.async((instanz, data) =>  {
    const json = instanz.toJSON();
    console.log(json);
})

Mit Argumenten Mehr unter .searchByArgs

const args = '"*2019*" -path "C:\\users\\tom" -size ">=1m" -excludefolder .git,node_modules -created ">= 10 Days" -ext png -ext jpg -kind pictures -ignore "*_berlin*"'

// Suche starten
const result = search.searchByArgs(args).sync().toJSON();

// ODER

const result = search.searchByArgs(args).async((instanz, data) =>  {
    const json = instanz.toJSON();
    console.log(json);
})

Datei-/Ordnerarten

console.log(new Search().getKinds());

// Ergebniss
[ 
    'communication',
    'contact',
    'document',
    'folder',
    'link',
    'music',
    'picture',
    'program',
    'searchfolder',
    'video' 
]

Methoden

Suchinstanz erstellen

const search = new Search();

// Mit Optionen

const defaultOptions = {
    excludefolder: [
        "node_modules",
        ".git",
        "AppData"
    ],
    size: "> 0b" // Keine leeren Dateien
}
const search = new Search(defaultOptions);

.searchByArgs(String)

.sync()

search.sync()

Suche starten

.async()

search.async(Function (instanz))

Suche async starten

.toHtmlTable()

search.sync().toHtmlTable();

Ergebniss als HTML-Tabelle zurückgeben

.toJSON()

search.sync().toJSON();

Ergebniss als Array zurückgeben

.match(String: pattern)

search.match("*2019*")

Findet Dateien/Ordner, dessen Name dem Pattern entspricht

.noMatch(String: pattern)

search.noMatch("*2018*")

Filtert Dateien/Ordner, dessen Name dem Pattern entspricht

.path(String: Pfad)

search.path("C:\users\tom")

Ordner, in dem gesucht werden soll

.recurse()

search.recurse()

Ordner soll rekursiv durchsucht werden

.ext(String/Array)

search.ext("png")
search.ext(["png", "jpg"])

Nach Dateiendungen filtern

.kind(String/Array)

search.kind("document")
search.kind(["document", "picture"])

Nach Datei-/Ordnertyp filtern

.contain(String: pattern)

search.contain("Tom")

Findet Dateien, dessen Inhalt zum Pattern passt

.excludefolder(String/Array)

search.excludefolder("node_modules")
search.excludefolder(["node_modules", ".git"])

Ignoriert die angegebenen Ordner

.size(String)

search.size(">=5m") // größer gleich 5 Megabyte
search.size(">5m") // größer 5 Megabyte
search.size("<=5m") // kleiner gleich 5 Megabyte
search.size("=5m") // gleich 5 Megabyte
  • Bytes: b
  • Kilobyte: k
  • Megabyte: m
  • Gigabyte: g
  • Terabyte: t

Filtert Dateien, die der angegebenen Größe entsprechen

.isEmpty()

search.isEmpty()

Filtert nach leeren Dateien

.accessed(String), .imported(String), .modified(String), .created(String)

search.created(">= 10 min") // Erstellt in den letzten 10 Minuten
search.modified(">= 10 days") // Geändert in den letzten 10 Tagen
  • Stunden: h, hours, hour
  • Tage: d, days, day
  • Minuten: m, minutes, minute, min, mins

SearchByArgs

.searchByArgs(String:args)

Standalone

-kinds Gibt die vorhandenen Typen zurück

Dateisuche

Parameter Type Default Beschreibung
-match, [amAnfang] String (required) Name
-path, -p String Default: __dirname Suchpfad
-ext, -e String (Multiple) Kein Punkt, also "png" nicht ".png" Dateiendung filtern
-ignore, -i String (Multiple) Dateien ignorieren
-kind, -k String Dateityp: documents,... Liste: -kinds
-contain, -c String Inhalt der Datei
-size, -s String <,<=,=,=>,> Number(b,k,m,g,t) bytes (b), kiloBytes (k), megaBytes (m), gigaBytes (g), teraBytes (t)
-noRecurse -nr Nur im angegebenen Pfad suchen
-isEmpty Leere Dateien
-excludefolder String (Multiple) Default: node_modules,.git Ordner ignorieren
Zeit String <,<=,=,=>,> Number(h,d,m) Hours (h), Days (d), Minutes (m)
-accessed
-imported
-modified -modified >= 10 min Geändert in den letzten 10 Minuten
-created -created >= 5 days Erstellt in den letzten 5 Tagen

Möglichkeiten

Multiple

-ext json -ext html oder -ext json,html

Platzhalter

expression Syntax und Beschreibung
Ein einzelnes Zeichen _ Entspricht einem beliebigen einzelnen Zeichen.
Kein, ein oder mehrere Zeichen * Entspricht keinem, einem oder mehreren Zeichen. Beispiel: new* entspricht einem beliebigen Text mit der Buchstabenfolge "new", z. B. newfile.txt.

Credits

Get-IndexedItem [PowerShell Script]

  • MICROSOFT LIMITED PUBLIC LICENSE version 1.1

https://gallery.technet.microsoft.com/scriptcenter/Get-IndexedItem-PowerShell-5bca2dae

License

MIT (c) tsmr

Readme

Keywords

Package Sidebar

Install

npm i filesearch-windows

Weekly Downloads

0

Version

1.0.5

License

MIT

Unpacked Size

364 kB

Total Files

15

Last publish

Collaborators

  • tsmr