Filter

../../_images/fsw-reference-filter-1.jpg

Mit dem Filter definierst du Bedingungen für welche Elemente des gescannten Dateisystems Aktionen ausgeführt werden sollen. Dabei besteht ein Filter aus Filterbedingungen B und Containern A welche beliebig verschachtelt werden können.

In jedem Container findest du den Knopf Add Element E mit dem du eine zusätzliche Filterbedingung oder Container hinzufügst. Dieses neue Element wird immer am Ende des jeweiligen Containers hinzugefügt.

Bestehende Container und Filterbedingungen kannst du mit dem Minus-Knopf C löschen oder mit den Pfeil-Knöpfen D verschieben.

Container

Um mehrere Filterbedingungen zu kombinieren, kannst du verschiedene Container dem Filter hinzufügen. Dabei stehen dir die folgenden booleschen Operatoren zur Verfügung:

NOT

Dieser Container nimmt nur eine einzelne Bedingung oder Container auf und kehrt dessen Resultat um.

AND

Mit dem booleschen AND Operator trifft die Bedingung zu, wenn alle darin enthaltenen Bedingungen auf das Element des Dateisystems passen.

OR

Mit dem booleschen OR Operator trifft die Bedingung zu, sobald mindestens eine darin enthaltenen Bedingung auf das Element des Dateisystems passt.

NAND

Der booleschen NAND Operator, entspricht einem AND Operator dessen Resultat umgekehrt wird.

NOR

Der booleschen NOR Operator, entspricht einem AND Operator dessen Resultat umgekehrt wird.

Siehe auch Boolesche Operatoren für Tabellen mit den Operatoren.

Filterbedingung

Eine Filterbedingung testet das Attribut eines Dateisystemelements auf einen bestimmten Wert. Die Attribute haben verschiedene Typen welche jeweils andere Bedingungen zulassen. Der Aufbau einer Filterbedingung sieht so aus:

../../_images/fsw-reference-filter-condition.jpg

Am Anfang der Bedingung siehst du den Namen des Attributs welches getestet wird. Darauf folgt ein Operator oder eine Bedingung. Der ganze Rest der Zeile ist der getestete Wert. Je nach Typ kann dies ein Text, eine Zahl, ein Datum oder etwas anderes sein.

Die folgenden Abschnitte beschreiben die möglichen Attributtypen und deren Operatoren oder Bedingungen.

Text

Der häufigste Attributtyp ist Text. Die folgende Tabelle zeigt alle möglichen Bedingungen und deren Bedeutung.

matches

Mit dieser Bedingung muss der Text des Attributs exakt übereinstimmen. Die Gross-/Kleinschreibung wird dabei nicht beachtet.

contains

Diese Bedingung prüft, ob der angegebene Text im Text des Attributs mindestens einmal vorkommt. Die Gross-/Kleinschreibung wird dabei nicht beachtet.

starts with

Diese Bedingung prüft, ob der Text des Attributs mit dem angegeben Text startet. Die Gross-/Kleinschreibung wird dabei nicht beachtet.

ends with

Diese Bedingung prüft, ob der Text des Attributs mit dem angegeben Text endet. Die Gross-/Kleinschreibung wird dabei nicht beachtet.

matches regular expression

Mit dieser Bedingung wird der Text des Attributs mittels dem angegebenen Regulären Ausdruck überprüft. Die Gross-/Kleinschreibung wird dabei beachtet. Ist dies nicht erwünscht, kann dieses Verhalten mit dem Modifier (?i) geändert werden.

does not match

Diese Bedingung entspricht matches, kehrt das Resultat jedoch um.

does not contain

Diese Bedingung entspricht contains, kehrt das Resultat jedoch um.

does not start with

Diese Bedingung entspricht starts with, kehrt das Resultat jedoch um.

does not end with

Diese Bedingung entspricht ends with, kehrt das Resultat jedoch um.

does not match regular expression

Diese Bedingung entspricht matches regular expression, kehrt das Resultat jedoch um.

Text Auswahl

Bei dieser speziellen Form von Text steht nur eine Auswahl von möglichen Werten zur Verfügung. Daher gibt es nur zwei Bedingungen:

is

Bei dieser Bedingung muss das Attribut dem angegeben Wert entsprechen.

is not

Bei dieser Bedingung darf das Attribut dem angegeben Wert nicht entsprechen.

Wenn du mehrere mögliche Werte zu testen möchtest, verwendest du dazu einfach ein OR Container.

Ganzzahl

Bei der Ganzzahl sind die folgenden Operatoren möglich:

==

Dieser Operator bedeutet: Ist gleich X. Das Attribut muss genau dem angegeben Wert entsprechen.

!=

Dieser Operator bedeutet: Ist ungleich X. Das Attribut darf dem angegeben Wert nicht entsprechen.

<

Dieser Operator bedeutet: Ist kleiner als X. Das Attribut muss kleiner als der angegeben Wert sein.

<=

Dieser Operator bedeutet: Ist kleiner als X oder gleich X. Das Attribut muss kleiner oder gleich dem angegeben Wert sein.

>

Dieser Operator bedeutet: Ist grösser als X. Das Attribut muss grösser als der angegeben Wert sein.

>=

Dieser Operator bedeutet: Ist grösser als X oder gleich X. Das Attribut muss grösser oder gleich dem angegeben Wert sein.

Die Schreibweise der Operatoren entspricht der in Programmiersprachen üblichen Syntax.

Grösse in Bytes

Dieser Typ entspricht Ganzzahl, jedoch kannst du die Einheit des Wertes wählen.

Zeit / Datum

Bei einem Zeit/Datumswert kannst du zwischen den folgenden Bedingungen wählen:

exactly at

Dabei muss das Attribut exakt der angegeben Zeit und/oder dem angegeben Datum entsprechen. Ist ein Datum/Zeitwert oder eine relative Zeit angegeben, dann muss dieser bis auf die Sekunde genau stimmen. Ist ein Datumswert angegeben, dann muss nur das Datum übereinstimmen und die Zeit wird ignoriert.

before

Hier muss der Zeitpunkt des Attributs vor dem angegeben Zeitpunkt liegen, damit weiter in der Vergangenheit. Ist ein Datum/Zeitwert oder eine relative Zeit angegeben, dann wird dies bis auf die Sekunde genau überprüft. Ist ein Datumswert angegeben, dann wird nur das Datum überprüft und die Zeit dabei ignoriert.

before or exactly at

Hier muss der Zeitpunkt des Attributs vor dem angegeben Zeitpunkt liegen, damit weiter in der Vergangenheit, oder genau dem Zeitpunkt entsprechen. Ist ein Datum/Zeitwert oder eine relative Zeit angegeben, dann wird dies bis auf die Sekunde genau überprüft. Ist ein Datumswert angegeben, dann wird nur das Datum überprüft und die Zeit dabei ignoriert.

after

Hier muss der Zeitpunkt des Attributs nach dem angegeben Zeitpunkt liegen, damit weiter in der Zukunft. Ist ein Datum/Zeitwert oder eine relative Zeit angegeben, dann wird dies bis auf die Sekunde genau überprüft. Ist ein Datumswert angegeben, dann wird nur das Datum überprüft und die Zeit dabei ignoriert.

after or exactly at

Hier muss der Zeitpunkt des Attributs nach dem angegeben Zeitpunkt liegen, damit weiter in der Zukunft, oder genau dem Zeitpunkt entsprechen. Ist ein Datum/Zeitwert oder eine relative Zeit angegeben, dann wird dies bis auf die Sekunde genau überprüft. Ist ein Datumswert angegeben, dann wird nur das Datum überprüft und die Zeit dabei ignoriert.

Alle absoluten Zeit/Datumswerte entsprechen der Coordinated Universal Time (UTC).

Relative Zeiten werden ausgehend von der Startzeit eines Jobs gemessen. Dabei sind positive Zahlen Zeitpunkte in der Zukunft und negative Zahlen Zeitpunkte in der Vergangenheit.

Attribute

Die folgende Tabelle enthält alle verfügbaren Attribute mit einer kurzen Beschreibung.

Name

Typ

Beschreibung

Path

Text

Der relative Pfad ausgehend von dem Quellverzeichnis.

Name

Text

Der Name des Elements inklusive der Dateiendung.

Directory

Text

Der relative Pfad des Verzeichnisses, ausgehend von dem Quellverzeichnis, ohne den Namen des Elements.

Suffix

Text

Nur die Dateiendung. Hat das Element keine Dateiendung ist dieser Text leer.

Source Path

Text

Der absolute Quellpfad.

Full Path

Text

Der absolute Pfad zu dem Element.

Type

Text Auswahl

Der Typ des Elements. Dies kann File, Directory, Link oder Special sein.

Size

Grösse in Bytes

Die Grösse des Elements.

Created

Zeit/Datumswert

Der Zeitpunkt wann das Element erstellt wurde.

Modified

Zeit/Datumswert

Der Zeitpunkt wann das Element das letzte Mal modifiziert wurde.

Accessed

Zeit/Datumswert

Der Zeitpunkt wann das letzte Mal auf das Element zugegriffen wurde.

Level

Ganzzahl

In welcher Tiefe sich das Element befindet. Ist beispielsweise eine Datei direkt im Quellverzeichnis, dann ist dieser Wert 0. Befindet sich das Element in einem Unterverzeichnis, dann ist dieser Wert 1. Mit jedem verschachtelten UUnterverzeichnis erhöht sich der Wert um eins.

Child Nodes

Ganzzahl

Die Anzahl der Elemente in dem Verzeichnis. Bei Dateien ist dieser Wert immer Null.

Hash Hex

Text

Die Prüfsumme einer Datei in Hexadezimaler Form.

Permissions

Text

Die Berechtigungen des Elements. Siehe dazu Permissions.

Boolesche Operatoren

Die folgenden Tabellen visualisieren die booleschen Operatoren der Container. Dabei verwenden wir das Symbol ✓ für eine zutreffende Bedingung und ✗ falls die Bedingung nicht zutrifft.

NOT

../../_images/fsw-ref-not.jpg

AND

../../_images/fsw-ref-and-2.jpg ../../_images/fsw-ref-and-3.jpg

OR

../../_images/fsw-ref-or-2.jpg ../../_images/fsw-ref-or-3.jpg

NAND

../../_images/fsw-ref-nand-2.jpg

NOR

../../_images/fsw-ref-nor-2.jpg