Platzhalter Referenz

Platzhalter kannst du in sehr vielen Feldern eines Jobs verwenden. Die Platzhalter werden zur Laufzeit des Jobs mit Werten des Systems oder Elements des aktuellen Scanvorgangs ersetzt.

Im Editor haben Felder, in welchen du Platzhalter verwenden kannst einen entsprechenden Knopf unten rechts A.

../_images/fsw-placeholder-button.jpg

Mit einem Klick auf diesen Knopf kannst du verschiedene Platzhalter in das Feld einfügen. Sie sind jedoch lediglich Beispiele. Du die Platzhalter wie normaler Text editieren und zusätzliche Parameter hinzufügen um das Verhalten oder Format zu verändern.

Die Syntax

Platzhalter sind Textsequenzen welche du in den normalen Text einbetten kannst. Damit diese nicht in Konflikt mit dem Text kommen, verwenden wir selten benutzte Unicode Zeichen um diese einzuschliessen.

Die einfachste Form ist ein Platzhalter ohne Parameter:

●[source|name]●

Dabei gibst du als source die Quelle der Daten für den Platzhalter an und als name den Namen des Wertes der Quelle. Du findest alle möglichen Quellen und Werte in den folgenden Abschnitten dieses Dokuments.

Jeder Platzhalter kann zusätzlich einen oder mehrere Parameter haben. In dieser Form sieht er so aus:

●[source|name|param=value|param=value]●

Hier steht param für den Namen des Parameters und value für den jeweiligen Wert des Parameters. In einer speziellen Form kann es Parameter ohne Wert geben, sogenannte Flags:

●[source|name|flag|flag]●

Grundsätzlich schliesst du Platzhalter immer in die spezielle Klammern ●[ und ]● ein. Dabei ist das Unicode Zeichen black circle mit dem Codepunkt 0x25cf. Die Zeichen [ und ] sind reguläre eckige Klammern welche du üblicherweise auf der Tastatur findest.

Jedes Element in diesen speziellen Klammern wird durch das pipe | Zeichen, mit dem Codepunkt 0x007c getrennt. Das -Zeichen ist innerhalb eines Platzhalters nicht erlaubt.

Elemente

source

Die Datenquelle für den Platzhalter. Gültige Quellen sind weiter unten beschrieben. Das Format sind zwei bis acht Kleinbuchstaben.

name

Der name des Wertes in der Datenquelle. Das Format sind ein bis 32 Kleinbuchstaben plus dem Bindestrich -.

param

Eine beliebige Anzahl von Parametern kann jedem Platzhalter hinzugefügt werden. Mit Parametern können sowohl Einstellungen der Quelle angepasst werden, aber auch das Format des eingefügten Werts. Das Format sind 1 bis 16 Kleinbuchstaben plus dem Bindestrich -.

value

Der Wert eines Parameters. Das Format ist sehr frei, jedoch dürfen keine Kontrollzeichen, das Separator Zeichen | oder eine Klammer ]● vorkommen.

Quellen

Datei- und Verzeichnisattribute node

Mit dieser Quelle kannst du die verschiedenen Attribute einer Datei oder eines Verzeichnisses welches aktuell verarbeitet wird einfügen. Die Namen der Werte sind die gleichen, welche du im Filter verwenden kannst. Du findest sie in der folgenden Tabelle:

path

Text

Der relative Pfad zu der Datei oder dem Verzeichnis.

type

Text

Der Typ des Dateisystem-Elements.

size

Zahl

Die Grösse der Datei oder dem Verzeichnis.

created

Datum/Zeit

Das Datum und die Zeit wann ein Dateisystem-Element erstellt wurde.

modified

Datum/Zeit

Das Datum und die Zeit wann ein Dateisystem-Element das letzte mal modifiziert wurde.

accessed

Datum/Zeit

Das Datum und die Zeit wann das letzte mal auf ein Dateisystem-Element zugegriffen wurde.

directory

Text

Der relative Pfad zu dem Verzeichnis, in welchem sich ein Dateisystem-Element befindet.

name

Text

Der Name eines Dateisystem-Elements.

suffix

Text

Die Dateiendung.

level

Zahl

Die aktuelle Scanebene für das Element.

child-node-count

Zahl

Die Anzahl von Elemente in einem Verzeichnis.

source-path

Text

Der absolute Quellpfad.

full-path

Text

Der absolute Pfad zu der Datei oder dem Verzeichnis.

hash

Text

Die Prüfsumme der Datei, sofern diese berechnet wurde.

permissions

Text

Der Text mit den Berechtigungen.

Einige Beispiele:

  • ●[node|path]●

  • ●[node|created|format=iso]●

  • ●[node|suffix|empty-text=none]●

  • ●[node|modified|format=yyyy]●

  • ●[node|level|add=1|field-width=5|fill-char=0|align=right]●

Umgebungsvariablen env

Mit dieser Quelle kannst du Werte von Umgebungsvariablen des Systems einfügen. Der Name entspricht dabei dem Namen der Umgebungsvariable in Kleinbuchstaben. Zudem wird das Underline-Zeichen _ in ein Bindestrich - umgewandelt.

Alle Werte dieser Quelle sind vom Typ Text. Sonderzeichen und Zeilenumbrüche werden aus dem Text der Umgebungsvariable entfernt.

  • ●[env|smtp-pw]●

  • ●[env|special-path|empty-text=/]●

Kommandozeilen Parameter cp

Mit dieser Quelle kannst du Werte von Kommandozeilenparametern einfügen. Damit kannst du einen Job parametrisieren, der über das Kommandozeilen-Werkzeug aufgerufen wird. Das Verhalten lässt sich aber auch mit dem Editor testen.

Sowohl beim Editor wie beim Kommandozeilen-Werkzeug kannst du Parameter in folgendem Format angeben:

-p=name:value oder --parameter=name:value

Dabei ist name der Name den du im Platzhalter verwenden möchtest. Er muss immer mit einem Kleinbuchstaben starten. Danach können weitere Kleinbuchstaben und Zahlen folgen, bis maximal 32 Zeichen. Der Wert wird mit einem Doppelpunkt vom Namen getrennt.

Alle Werte dieser Quelle sind vom Typ Text.

Beispiele:

  • ●[cp|smtppw]●

  • ●[cp|specialpath|empty-text=/]●

Datum- und Zeitwerte dt

Mit dieser Quelle fügst du Datum- und Zeitwerte in Text ein. Folgende Namen sind dabei möglich:

now

Der Zeitpunkt wenn der Platzhalter ersetzt wird.

action

Der Zeitpunkt wenn die Aktionen für ein passendes Element gestartet wurden. Alle Aktionen in der Liste, welche diesen Platzhalter verwenden haben damit die gleiche Zeit.

start

Der Zeitpunkt wann der Job gestartet wurde.

Alle Werte dieser Quelle sind vom Typ Datum/Zeit.

Einige Beispiele:

  • ●[dt|now|format=compact]●

  • ●[dt|now|add=-10d|format=compact-date]●

  • ●[dt|now|time-spec=local]●

Systemwerte sys

Mit dieser Quelle kannst du verschiedene Werte des Systems einfügen. Folgende Namen sind dabei möglich:

computer-name

Der name des Computer auf dem der Job ausgeführt wird.

user-name

Der name des Benutzers der den Job gestartet hat.

domain-dns

Der Domänenname im DNS Format.

Alle Werte dieser Quelle sind vom Typ Text.

Einige Beispiele:

  • ●[sys|computer-name]●

  • ●[sys|user-name]●

  • ●[sys|domain-dns]●

Generatoren gen

Mit dieser Quelle fügst du generierte Werte in den Text ein. Es gibt zwei Arten von Generatoren: Sequenzen und Zufallszahlen.

Alle Werte dieser Quelle sind vom Typ Zahl.

Sequenzen

Sequenzen werden immer beim Start eines Jobs auf Null zurückgesetzt. Jedes mal wenn ein solcher Platzhalter ersetzt wird, dann wird dessen Wert um eins erhöht.

Mit dem counter Parameter kannst du einen von zehn Zählern wählen. Dabei kann dieser Parameter einen Wert von 0 bis 9 annehmen. Wenn du diesen Parameter weglässt, dann wird automatisch der Zähler 0 verwendet.

Einige Beispiele:

  • ●[gen|sequence]●

  • ●[gen|sequence|counter=5]●

  • ●[gen|sequence|counter=1|add=1]●

  • ●[gen|sequence|field-width=5|fill-char=0|align=right]●

Zufallszahlen

Der Zufallszahl-Wert erzeugt jedes mal eine neue Zufallszahl zwischen 0.0 und 1.0. Mit den regulären parametern multiply und add kannst du diese in einen definierten Bereich bringen.

Einige Beispiele:

  • ●[gen|random]●

  • ●[gen|random|multiply=50|add=1|round]●

  • ●[gen|random|multiply=10000|round|field-width=5|fill-char=0|align=right]●

Werte und Sonderzeichen

Sonderzeichen werden automatisch aus Werten gefiltert. Es ist also nicht möglich ein Zeilenumbrüche oder Tab-Zeichen in den Text einzufügen.

Je nach Kontext, wo ein Platzhalter eingefügt wird, können auch noch weitere Zeichen gefiltert werden.

Parameter

Quellen können individuelle Parameter haben, welche dort beschrieben werden. Aber es gibt Parameter die für alle Platzhalter funktionieren. Gewisse Parameter funktionieren nur für bestimmte Type von Werten. Der Typ der Werte einer Quelle ist in dem Text oben bei den Quellen angegeben.

Der Prozess, wie die Werte eines Platzhalters verarbeitet werden sieht so aus:

QuelleKonvertieren zu TextText Formatieren

Die Quelle erzeugt den Wert. Dieser hat einen bestimmten Typ, wie Text, Datum/Zeit, Zahl und Boolean. An diesem Punkt existieren einige Parameter, welche den Wert von diesem spezifischen Typ modifizieren können.

Nach diesem Schritt wird der Wert in Text umgewandelt. Danach werden alle Parameter welche Text formatieren angewendet. Für Text-Werte entfällt der Zwischenschritt.

Zahlenwerte

Zahlen könne mit den folgenden Parametern angepasst werden:

Parameter

Beispiel

Beschreibung

multiply

multiply=2
multiply=0.2

Multipliziert den Wert. Indem zu Werte kleiner als eins angibst, kannst du auch divisionen durchführen.

add

add=12
add=-14.5

Addiert den angegeben Wert. Mit negativen Werten machst du eine Subtraktion.

round

round

Rundet den Wert zu den nächsten Ganzzahl.

maximum

maximum=10

Limitiert die Zahl mit einem Maximum. Der Wert wird nie grösser als das angegebene Maximum sein.

minimum

minimum=0

Limitiert die Zahl mit einem Minimum. Der Wert wird nie kleiner als das angegeben Minimum sein.

All die Parameter oben, werden genau in der gezeigten Reihenfolge durchgeführt. Also wenn du sowohl ein multiply wie auch ein add Parameter verwendest, dann wird zuerst multiply und danach add ausgeführt.

Normalerweise wird die Zahl ohne spezielle Formatierung in Text umgewandelt. Beispielweise 1, -5, 2873, 1.1, -1827.28. Mit den folgenden Parametern kannst du die Formatierung der Zahl steuern:

Parameter

Beispiel

Beschreibung

base

base=16

Das Zahlensystem das für die Ausgabe verwendet werden soll. 2 für Binär, 10 für Dezimal oder 16 für Hexadezimal.

format

format=exp

Das Format, wie Zahlen formatiert werden. exp für das Exponent-Format, wie [-]9.9e[+|-]999. frac Nachkomma-Format, wie [-]9.9. Der Default ist auto, welches automatisch das beste Format wählt.

precision

precision=2

Die Anzahl der Nachkommastellen. Wenn das Format auto ist, dann ist dies ein Maximalwert.

zero-text

zero-text=none

Ein Text, welcher statt einer 0 oder 0.0 ausgegeben wird. Dieser Text kann auch leer sein.

negative-text

negative-text=error

Ein Text, welcher statt einer negativen Zahl ausgegeben wird. Dieser Text kann auch leer sein.

Boolsche Werte

Boolsche Werte können nur wahr oder falsch sein. Du kannst sie mit den folgenden Parametern formatieren:

Parameter

Beispiel

Beschreibung

true-text

true-text=Yes

Der Text, der für einen wahren Wert ausgegeben werden soll.

false-text

false-text=No

Der Text, der für einen falschen Wert ausgegeben werden soll.

Datums- und Zeitwerte

Datums- und Zeitwerte kannst du mit den folgenden Parametern modifizieren:

Parameter

Beispiel

Beschreibung

add

add=5d
add=20s
add=-10d
add=-20h

Addiert eine bestimmte Zeitdauer zu dem Datum-/Zeitwert. Wenn der Wert positiv ist, dann bewegt sich der Zeitwert in die Zukunft und wenn er negativ ist, dann bewegt er sich in die Vergangenheit. Als Zahl sind nur Ganzzahlen erlaubt und es existieren die folgenden Einheiten: * ms/milliseconds Millisekunden * s/seconds Sekunden * h/hours Stunden * d/days Tage * M/months Monate * y/years Jahre Beachte dass M Monate, und nicht Minuten addiert. Um Minuten zu addieren musst du 60 Sekunden addieren. Für Wochen musst du sieben Tage addieren.

maximum

maximum=2019-01-01T12:00:00

Limitiert den Wert mit einem maximalen Zeitpunkt. Die angegebene Zeit muss immer im vollständigen ISO Format angegeben werden.

minimum

minimum=2019-01-01T12:00:00

Limitiert den Wert mit einem minimalen Zeitpunkt. Die angegebene Zeit muss immer im vollständigen ISO Format angegeben werden.

Die parameter werden immer in der hier gezeigten Reihenfolge verarbeitet.

Um die Zeit zu formatieren kannst du die folgenden Parameter verwenden:

Parameter

Beispiel

Beschreibung

format

format=iso
format=hh:mm:ss

Dieser Parameter definiert wie das Datum und die Zeit formatiert wird. Es existieren eine Reihe von vordefinierten Formaten welche du im Abschnitt „Benannte Datums und Zeitformate“ findest. Falls keines dort angegebene Format passt wird angenommen das es sich um ein Benutzerdefiniertes Format handelt. Siehe dazu Benutzerdefinierte Datums und Zeitformate.

time-spec

time-spec=local

Dieser Parameter definiert die Zeitfererenz für das verwendete Format. Mögliche Werte sind: * utc Die Koordinierte Weltzeit (UTC) wird verwendet. * local Die lokale Zeitzone wird verwendet.

invalid-text

invalid-text=-

Dieser Parameter definiertt den Text der Verwendet wird falls der Datums-/Zeitwert ungültig oder leer ist.

Textwerte

Alle Werte lassen sich mit den Parametern für Textwerte modifizieren.

Parameter

Beispiel

Beschreibung

trim

trim

Entfernt Leerzeichen am Anfang und Ende des Texts.

simplify

simplify

Reduziert mehrere Leerzeichen, Tabs und Zeilenumbrüche in einzelne Leerzeichen.

crop

crop=10

Entfernt alle Zeichen welche die angegebene Anzahl überschreiten.

Diese Parameter werden alle in der gezeigten Reihenfolge angewendet.

Mit den folgenden Parametern lässt sich der Text weiter formatieren:

Parameter

Beispiel

Beschreibung

field-width

field-width=10

Damit setzt du die minimale anzahl der Zeichen welche eingefügt werden. Falls der Text kürzer als angegeben ist, wird der verbleibende Platz mit Leerzeichen aufgefüllt.

fill-char

fill-char=0

Definiert ein alternatives Füllzeichen das verwendet wird um ein Feld aufzufüllen.

align

align=right

Richtet den Text in einem Feld aus. Mögliche Werte sind left für Links und right für Rechts.

empty-text

empty-text=-

Definiert den Text der eingefügt wird, falls der Text leer ist.

Benannte Datums und Zeitformate

Der format parameter bei Datums-/Zeitwerten kann einer der folgenden Werte annehmen:

Format

Ausgabe

Beschreibung

iso

2019-01-01T12:17:00

Das ISO Format.

iso-ms

2019-01-01T12:17:00.283

Das ISO Format mit Millisekunden.

system-short

?

Das auf dem System als Kurzes definierte Datums-/Zeitformat.

system-long

?

Das auf dem System als Langes definierte Datums-/Zeitformat.

compact

20190101-121700

Ein kompaktes Format für Dateinamen und Pfade.

compact-date

20190101

Ein kurzes Format, nur mit dem Datum.

compact-time

121700

Ein kurzes Format, nur mit der Zeit.

Benutzerdefinierte Datums und Zeitformate

Falls keines der vordefinierten Formate passt, dann wird angenommen dass du ein Benutzerdefiniertes Format verwenden möchtest. Dieses setzt du aus folgenden Elementen zusammen:

Element

Ausgabe

Beschreibung

d

1
31

Der Tag, ohne führendes Nullzeichen.

dd

01
31

Der Tag, mit führendem Nullzeichen.

ddd

Mon
Sun

Der abgekürzte lokale Tagesname.

dddd

Monday
Sunday

Der ausgeschriebene lokale Tagesname.

M

1
12

Die Zahl des Monats, ohne führendes Nullzeichen.

MM

01
12

Die Zahl des Monats, mit führendem Nullzeichen.

MMM

Jan
Dec

Der abgekürzte lokale Monatsname.

MMMM

January
December

Der ausgeschriebene lokale Monatsname.

yy

00
19

Die letzten zwei Ziffern des Jahrs. Nicht empfohlen!

yyyy

2000
2022

Das Jahr als vierstellige Zahl.

h

0
23

Die Stunde ohne führendes Nullzeichen. 0-23 oder 1-12 mit AM/PM Anzeige.

hh

00
23

Die Stunde mit führendem Nullzeichen. 00-23 oder 01-12 mit AM/PM Anzeige.

H

0
23

Die Stunde ohne führendes Nullzeichen. Immer 0-23.

HH

00
23

Die Stunde mit führendem Nullzeichen. Immer 00-23.

m

0
59

Die Minute ohne führendes Nullzeichen.

mm

00
59

Die Minute mit führendem Nullzeichen.

s

0
59

Die Sekunde ohne führendes Nullzeichen.

ss

00
59

Die Sekunde mit führendem Nullzeichen.

z

0
999

Bruchteile der Sekunde, ohne folgende Nullzeichen.

zzz

000
999

Bruchteile der Sekunde, mit folgenden Nullzeichen.

A or AP

AM
PM

Die AM/PM Anzeige für die Zeit. Dies beeinflusst auch wie sich h und hh verhalten.

a or ap

am
pm

Die am/pm Anzeige für die Zeit. Dies beeinflusst auch wie sich h und hh verhalten.