1.0.5 • Published 4 years ago

filesearch-windows v1.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

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

ParameterTypeDefaultBeschreibung
-match, amAnfangString (required)Name
-path, -pStringDefault: __dirnameSuchpfad
-ext, -eString (Multiple)Kein Punkt, also "png" nicht ".png"Dateiendung filtern
-ignore, -iString (Multiple)Dateien ignorieren
-kind, -kStringDateityp: documents,... Liste: -kinds
-contain, -cStringInhalt der Datei
-size, -sString<,<=,=,=>,> Number(b,k,m,g,t)bytes (b), kiloBytes (k), megaBytes (m), gigaBytes (g), teraBytes (t)
-noRecurse -nrNur im angegebenen Pfad suchen
-isEmptyLeere Dateien
-excludefolderString (Multiple)Default: node_modules,.gitOrdner ignorieren
ZeitString<,<=,=,=>,> Number(h,d,m)Hours (h), Days (d), Minutes (m)
-accessed
-imported
-modified-modified >= 10 minGeändert in den letzten 10 Minuten
-created-created >= 5 daysErstellt in den letzten 5 Tagen

Möglichkeiten

Multiple

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

Platzhalter

expressionSyntaxund 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

1.0.5

4 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.11

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago