Skip to content
This repository has been archived by the owner on Jun 6, 2021. It is now read-only.
/ filesearch Public archive

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

License

Notifications You must be signed in to change notification settings

otsmr/filesearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows: schnell Dateien und Ordner finden

LICENSE LICENSE

Mithilfe des SYSTEMINDEX von Windows und der Powershell Dateien und Ornder.

Getestet unter

  • Windows 10
  • Windows 7
  • Powershell 5

Verwenden

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);
})
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);

.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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published