Dateien und Ordner filtern mit Wildcards
Eine Wildcard ist eine Art Dateiname, in dem ein oder mehrere Buchstaben durch Jokerzeichen (Platzhalter) ersetzt wurden. Eine Wildcard repräsentiert also nicht nur eine einzige sondern mehrere Dateien.
COPYRA unterstützt zwei Jokerzeichen:
? - repräsentiert genau ein einzelnes Zeichen
* - repräsentiert eine beliebige Anzahl (auch 0) Zeichen
Beispiele
Besonderheiten
Leer- und Jokerzeichen maskieren
Beispiele
????.htm
repräsentiert alle Dateien, deren Dateiendung "htm" lautet und deren Name vor dem Punkt genau 4 Buchstaben enthält, also z.B. home.htm, mail.htm usw.
*.htm
repräsentiert alle Dateien mit der Endung "htm", egal, welche und wieviele Buchstaben sich vor dem Punkt befinden, z.B. home.htm, homepage.htm
home.*
repräsentiert alle Dateien, deren Name vor dem Punkt "home" lautet, die aber eine beliebige Endung tragen dürfen, z.B. home.htm, home.php, home.html.
home.???
repräsentiert alle Dateien, deren Name vor dem Punkt "home" lautet und deren Endung genau 3 Zeichen lang ist, z.B. home.htm und home.php, nicht jedoch home.html.
h*.h*
repräsentiert alle Dateien, deren Name mit "h" beginnt und deren Endung mit "h" beginnt, z.B. home.htm, heimseite.html, haus.hqx
*.?s*
repräsentiert alle Dateien, deren Endung an zweiter Position ein "s" enthält. Nach dem "s" können noch weitere beliebige Zeichen oder gar kein Zeichen mehr folgen; das Zeichen vor dem "s" kann beliebig sein, z.B. style.css, javascript.js
*me.htm
repräsentiert alle Dateien mit der Endung "htm". Vor dem Punkt dürfen sich beliebig viele Zeichen befinden, unmittelbar vor dem Punkt müssen sich jedoch die Zeichen "me" befinden: home.htm, blume.htm
Im Ausschluss-Filter können Wildcards auch für Ordner eingegeben werden. Die Regeln sind dieselben wie für Datei-Wildcards, es muss lediglich ein Pfadseparator angehängt werden.
_*\
nur Windows: repräsentiert alle Ordner, deren Name mit einem Unterstrich beginnt, z.B. _data, _hidden
_*:
nur MacOS: repräsentiert alle Ordner, deren Name mit einem Unterstrich beginnt
Besonderheiten
Die Interpretation dieser Jokerzeichen durch COPYRA ist also mit der unter Windows, Linux und dem MacOS-UNIX identisch. In bestimmten Kombinationen treten jedoch zwischen Windows und Linux/MacOS-UNIX sowie zwischen Windows 9x und XP einige Unterschiede auf.
Um zu gewährleisten, dass sich COPYRA auf allen Plattformen identisch verhält, werden derartige Sonderfälle in der nach den o.g. Grundregeln zu erwartenden und eindeutigen Art und Weise interpretiert.
Wichtig für Windows-Anwender:
- Die bekannte Wildcard *.* ist nicht identisch mit * und repräsentiert in COPYRA nicht wie gewohnt alle Dateien, sondern nur die, deren Name tatsächlich an irgendeiner Stelle einen Punkt enthält. Nur * gilt wirklich für alle Dateien mit oder ohne Punkt bzw. Endung.
- Dies gilt auch für alle Ableitungen von *.*, z.B. Rechnung.*. Unter Windows repräsentiert dies alle Dateien mit dem Prefix "Rechnung", egal, ob sie eine Endung tragen oder nicht. COPYRA verlangt dementgegen das tatsächliche Vorhandensein des Punktes hinter "Rechnung", der Dateiname muss also eine Endung tragen (oder mit einem Punkt enden).
- *.?, *.??, *.*?? und Ableitungen wie Rechnung.??? oder Rechnung.*?? verhalten sich unter COPYRA so, wie es die Logik verlangt.
Diese und noch einige andere hier nicht genannten Unterschiede und Ungereimtheiten kommen zustande, weil der Punkt in Wildcards unter Windows nicht buchstäblich als Punkt, sondern lediglich als Symbol zur Trennung von Name und Suffix interpretiert wird. Wenn Sie also den Punkt als Zeichen wie jedes andere betrachten, dann ergibt sich automatisch die tatsächliche Wirkung der Wildcard.
Leer- und Jokerzeichen maskieren
Leerzeichen werden in Filtern als Trenn-Markierung zwischen mehrenen Wildcards und/oder Dateinamen interpretiert. Enthält jedoch der Dateiname oder die Wildcard ein Leerzeichen, muss dieses maskiert, d.h. vor COPYRA "versteckt" werden. Gleiches gilt, wenn der Dateiname Jokerzeichen enthält (was unter MacOS und Linux möglich ist) und COPYRA diese nicht als Joker, sondern als normale Zeichen behandeln soll.
Um Leer- und Jokerzeichen vor der Interpretation zu schützen, werden sie in paarige Anführungszeichen eingeschlossen.
Die folgenden Beispiel sind logisch identisch. Es wurde nicht - was das einfachste gewesen wäre - die gesamte Wildcard in Anführungszeichen gesetzt, weil der Joker am Ende des Namens auch als Joker interpretiert werden soll.
"Rezension Der Stechlin".*
Rezension" Der "Stechlin.*
Rezen"sion Der Ste"chlin.*
Rezension" "Der" "Stechlin.*
Auch das Maskierungszeichen " selbst kann (und muss) maskiert werden, wenn es tatsächlich im Dateinamen vorkommt - durch Verdopplung. Lautet der im Filter anzugebende Dateiname:
Rezension "Der Stechlin".txt
werden die beiden Anführungszeichen verdoppelt:
Rezension ""Der Stechlin"".txt
Da der Name nun noch zu maskierende Leerzeichen enthält, wird er vollständig in Anführungszeichen eingeschlossen:
"Rezension ""Der Stechlin"".txt"
Der Form und Vollständigkeit halber: ebenfalls möglich und - nach längerem Hinsehen - auch logisch ist:
Rezension" """Der" "Stechlin"".txt
Hier kann man auch gut erkennen, dass auch das zwischen Der und Stechlin befindliche Leerzeichen explizit maskiert werden muss - dem Anschein nach befindet es sich ja schon zwischen zwei Anführungszeichen, diese haben jedoch durch die "Selbstmaskierung" ihre maskierende Wirkung verloren.
home | sitemap | Zur Copyra-Homepage | top