 
FileMove Professional 2.5

Datei- und Ordnersuche
Die grosse Stärke von FileMove Pro sind die vielseitigen Möglichkeiten
zur Suche von Dateien. Nebst der Festlegung der Dateieigenschaften kann
mit Suchmustern gesucht werden. Diese Suchmuster können auf Dateinamen
aber auch auf Verzeichnisnamen angewendet werden. Es gibt für beide
Felder, dem für Ordnernamen und dem für Dateinamen, zwei Modi mit denen
gesucht werden kann. Einer einfachen Suche und der Suche mit regulären
Ausdrücken (RegEx). In beiden Modi können die Resultate ein- oder aber auch
ausgeschlossen werden.
Die einfache Suche funktioniert ähnlich wie die Suche mit Windows. Die
beiden Platzhalter * und ? bewirken folgendes:
* Sucht nach beliebig vielen oder keinem Zeichen. 'Briefe*Geschäft' findet sowohl 'BriefeKundeGeschäft'
als auch 'Briefe1Geschäft' oder 'BriefeGeschäft'.
? Sucht nach einem einzigen oder keinem Zeichen. 'Briefe?Geschäft' findet
'BriefeGeschäft' oder 'BriefeTGeschäft'. Die Platzhalter können auch
vermischt oder mehrmals in einem Ausdruck verwendet werden.
In Kombination mit den Dateierweiterungen kann so nach einer bestimmten
Datei gesucht werden. Als erlaubte Zeichen für Dateinamen gelten die
gleichen Regeln die Windows vorschreibt. So darf ein Dateiname keines der
folgenden Zeichen enthalten:
\ : / " < > |
Ein eingebauter Filter filtert nicht erlaubte Zeichen heraus und gibt beim
Vorhandensein derselben eine Meldung aus.
In der RegEx Terminologie würde die einfache Suche folgende für den
Platzhalter * finden:
Suchmuster im Ordnerfeld: Karl*Maij
RegEx: ^Karl(.?)*Maij$
FileMove Pro sucht im ganzen Pfad nach: \Karl(.?)*Maij\
Suchmuster im Dateinamenfeld: Karl*Maij
RegEx: ^Karl(.?)*Maij$
FileMove Pro sucht im Dateinamen nach: ^Karl(.?)*Maij$
In der RegEx Terminologie würde die einfache Suche das folgende für den
Platzhalter ? finden:
Suchmuster im Ordnerfeld: Karl?Maij
RegEx: ^Karl(.?)Maij$
FileMove Pro sucht im ganzen Pfad nach: \Karl(.?)Maij\
Suchmuster im Dateinamenfeld: Karl?Maij
RegEx: ^Karl(.?)Maij$
FileMove Pro sucht im Dateinamen nach: ^Karl(.?)Maij$
Dies schaut gefährlicher aus als es ist. Benutzen Sie die
Vorschaufunktion um die Eingaben zu testen.
Reguläre Ausdrücke gehören schon in einen etwas fortgeschrittenen
Bereich der Verwendung von Computern denn es gibt ganze Bücher über diese
Technologie.
In FileMove Pro werden die regulären Ausdrücke bei der Dateisuche
auf den Dateinamen und bei der Ordnersuche auf den ganzen Pfad
angewendet.
Die Zeichen ^ und $ werden intern in einen Schrägstrich (\)
umgewandelt.
Zum Beispiel: Wenn das Suchmuster im Bearbeitungsfenster Maij$ ist dann
wird es intern zu Maij\ umgewandelt. Wenn das Suchmuster ^Karl ist, dann
wird es zu \Karl umgewandelt. Ein Ausdruck wie (^Karl|^John) wird zu
(\Karl|\John) und ein Ausdruck wie (Maij$|Sinclair$) wird zu (Maij\|Sinclair\).
Die im Bearbeitungsfenster auswählbaren Option 'Einschliessen' wendet
die Suche an wenn das Suchmuster zutrifft. Die Option 'Ausschliessen'
wendet die Suche an wenn das Suchmuster nicht zutrifft. Wenn 'alle'
ausgewählt ist dann werden alle Ordner oder alle Dateien gesucht.
Benutzen Sie die Vorschaufunktion um die
Suchmuster zu überprüfen!
Die folgende Tabelle enthält eine vollständige Liste der Metazeichen
und ihres Verhaltens im Kontext regulärer Ausdrücke die in FileMove Pro
zulässig sind:
Zeichen |
Beschreibung |
^ |
Entspricht \ wie oben beschrieben |
$ |
Entspricht \ wie oben beschrieben |
\ |
Markiert das nächste Zeichen entweder als Sonderzeichen, als
Literal, als Rückverweis oder als oktalen Escapewert.
Beispielsweise entspricht 'n' dem Zeichen "n". '\n' entspricht
einem Zeilenumbruchzeichen. Die Sequenz '\\' entspricht "\", und
'\(' entspricht "(". |
* |
Entspricht dem vorhergehenden Unterausdruck keinmal, einmal
oder mehrere Male. Beispielsweise entspricht 'Zo*' sowohl "Z" als
auch "Zoo". * ist äquivalent zu '{0,}'. |
+ |
Entspricht dem vorhergehenden Unterausdruck einmal oder
mehrere Male. Beispielsweise entspricht 'Zo+' sowohl "Zo" als auch
"Zoo", aber nicht "Z". + ist äquivalent zu '{1,}'. |
? |
Entspricht dem vorhergehenden Unterausdruck keinmal oder
einmal. Beispielsweise entspricht 'habe(n)?' dem "habe" in "habe"
oder "haben". ? ist äquivalent zu '{0,1}'. |
{n} |
n ist eine nicht negative Ganzzahl. Entspricht exakt
n Mal. Beispielsweise entspricht 'o{2}' nicht dem "o" in
"Robert", jedoch den beiden "o" in "Boot". |
{n,} |
n ist eine nicht negative Ganzzahl. Entspricht
mindestens n Mal. Beispielsweise entspricht 'o{2,}' nicht
dem "o" in "Robert", aber allen "o" in "Boooot". 'o{1,}' ist
äquivalent zu 'o+'. 'o{0,}' ist äquivalent zu 'o*'. |
{n,m} |
m und n sind nicht negative Ganzzahlen, wobei
n <= m. Entspricht mindestens n und höchstens
m Mal. Beispielsweise entspricht 'o{1,3}' den ersten drei "o"
in "Booooot". 'o{0,1}' ist äquivalent zu 'o?'. Beachten Sie, dass
zwischen dem Komma und den Zahlen kein Leerzeichen stehen darf. |
? |
Wenn dieses Zeichen unmittelbar auf einen der anderen
Quantifizierer folgt (*, +, ?, {n}, {n,}, {n,m}),
so ist die Musterentsprechung nicht umfassend, also von
kürzestmöglicher Übereinstimmung. Ein nicht umfassendes Muster
entspricht möglichst wenig der durchsuchten Zeichenfolge, während
das umfassende Standardmuster möglichst viel der durchsuchten
Zeichenfolge entspricht. In der Zeichenfolge "oooo" entspricht
beispielsweise 'o+?' einem einzigen "o", während 'o+' allen "o"
entspricht. |
. |
Entspricht allen einzelnen Zeichen außer "\n". Um nach einer
Entsprechung für alle einzelnen Zeichen einschließlich des "\n" zu
suchen, verwenden Sie beispielsweise das Muster '[.\n]'. |
(?:Muster) |
Entspricht Muster, speichert die Entsprechung jedoch
nicht, d. h., es handelt sich um eine nicht speichernde
Entsprechung, die nicht für eine mögliche spätere Verwendung
gespeichert wird. Dies ist von Nutzen, wenn Teile eines Musters
mit dem "oder"-Zeichen (|) kombiniert werden sollen. So ist
beispielsweise 'telefonier(?:t|en)' ein kürzerer Ausdruck als 'telefoniert|telefonieren'. |
(?=Muster) |
Die positive Vorausschau entspricht der Suchzeichenfolge an
allen Stellen, an denen eine Muster entsprechende
Zeichenfolge beginnt. Dabei handelt es sich um eine nicht
speichernde Entsprechung, d. h., die Entsprechung wird nicht für
eine mögliche spätere Verwendung gespeichert. Beispielsweise
entspricht 'Windows (?=95|98|NT|2000)' dem Wort "Windows" in
"Windows 2000", jedoch nicht dem Wort "Windows" in "Windows 3.1".
Vorausschauen verbrauchen keine Zeichen, d. h., nachdem eine
Entsprechung gefunden wurde, beginnt die Suche nach der nächsten
Entsprechung unmittelbar nach der letzten Entsprechung und nicht
nach den Zeichen, aus denen die Vorausschau bestand. |
(?!Muster) |
Die komplementäre Vorausschau entspricht der Suchzeichenfolge
an allen Stellen, an denen eine Muster nicht entsprechende
Zeichenfolge beginnt. Dabei handelt es sich um eine nicht
speichernde Entsprechung, d. h., die Entsprechung wird nicht für
eine mögliche spätere Verwendung gespeichert. Beispielsweise
entspricht 'Windows (?!95|98|NT|2000)' dem Wort "Windows" in
"Windows 3.1", jedoch nicht dem Wort "Windows" in "Windows 2000".
Vorausschauen verbrauchen keine Zeichen, d. h., nachdem eine
Entsprechung gefunden wurde, beginnt die Suche nach der nächsten
Entsprechung unmittelbar nach der letzten Entsprechung und nicht
nach den Zeichen, aus denen die Vorausschau bestand. |
x|y |
Entspricht entweder x oder y. Beispielsweise
entspricht 'sch|blau' entweder "sch" oder "blau". '(sch|b)lau'
entspricht "schlau" oder "blau". |
[xyz] |
Eine Menge von Zeichen. Entspricht allen enthaltenen Zeichen.
Beispielsweise entspricht '[abc]' dem "a" in "fallen". |
[^xyz] |
Eine Komplementmenge von Zeichen. Entspricht allen nicht
enthaltenen Zeichen. Beispielsweise entspricht '[^abc]' dem "f" in
"fallen".
|
[a-z] |
Ein Zeichenbereich. Entspricht allen Zeichen im angegebenen
Bereich. Beispielsweise entspricht '[a-z]' allen Kleinbuchstaben
im Bereich von "a" bis "z". |
[^a-z] |
Ein Komplementbereich von Zeichen. Entspricht allen Zeichen,
die im angegebenen Bereich nicht enthalten sind. Beispielsweise
entspricht '[^a-z]' allen Zeichen, die nicht im Bereich von "a"
bis "z" enthalten sind. |
\b |
Entspricht einer Wortgrenze, d. h. der Position zwischen einem
Wort und einem Leerzeichen. Beispielsweise entspricht 'er\b' dem
"er" in "neuer", jedoch nicht dem "er" in "Verb". |
\B |
Entspricht einer Nichtwortgrenze. 'er\B' entspricht dem "er"
in "Verb", jedoch nicht dem "er" in "neuer". |
\cx |
Entspricht dem Steuerzeichen, das durch x angegeben
wird. Beispielsweise entspricht '\cM' einem STRG-M oder
Wagenrücklaufzeichen. Der Wert von x muss im Bereich von
A-Z oder a-z liegen. Ist dies nicht der Fall, wird c als "c"-Zeichenliteral
interpretiert. |
\d |
Entspricht einer Ziffer. Äquivalent zu '[0-9]'. |
\D |
Entspricht einer Nichtziffer. Äquivalent zu '[^0-9]'. |
\f |
Entspricht einem Seitenvorschubzeichen. Äquivalent zu '\x0c'
und '\cL'. |
\n |
Entspricht einem Zeilenumbruchzeichen. Äquivalent zu '\x0a'
und '\cJ'. |
\r |
Entspricht einem Wagenrücklaufzeichen. Äquivalent zu '\x0d'
und '\cM'. |
\s |
Entspricht beliebigen Leerräumen wie Leerzeichen, Tabstopp,
Seitenvorschub usw. Äquivalent zu '[ \f\n\r\t\v]'. |
\S |
Entspricht beliebigen Nichtleerräumen. Äquivalent zu
'[^ \f\n\r\t\v]'. |
\t |
Entspricht einem Tabstoppzeichen. Äquivalent zu '\x09' und
'\cI'. |
\v |
Entspricht einem vertikalen Tabstoppzeichen. Äquivalent zu
'\x0b' und '\cK'. |
\w |
Entspricht allen Wortzeichen einschließlich Unterstrich.
Äquivalent zu '[A-Za-z0-9_]'. |
\W |
Entspricht allen Nichtwortzeichen. Äquivalent zu
'[^A-Za-z0-9_]'. |
\xn |
Entspricht n, wobei n ein hexadezimaler
Escapewert ist. Hexadezimale Escapewerte müssen genau zwei Stellen
aufweisen. '\x41' entspricht beispielsweise "A". '\x041' ist
äquivalent zu "\x04" & "1". Ermöglicht die Verwendung von
ASCII-Codes in regulären Ausdrücken. |
\num |
Entspricht num, wobei num eine positive Ganzzahl
ist. Ein Rückverweis auf gespeicherte Entsprechungen.
Beispielsweise entspricht '(.)\1' zwei aufeinander folgenden
identischen Zeichen. |
\n |
Bezeichnet entweder einen oktalen Escapewert oder einen
Rückverweis. Wenn \n mindestens n gespeicherte
Unterausdrücke vorausgehen, handelt es sich bei n um einen
Rückverweis. Anderenfalls ist n ein oktaler Escapewert,
wenn n eine Oktalziffer (0-7) ist. |
\nm |
Bezeichnet entweder einen oktalen Escapewert oder einen
Rückverweis. Wenn \nm mindestens nm gespeicherte
Unterausdrücke vorausgehen, handelt es sich bei nm um einen
Rückverweis. Wenn \nm mindestens n gespeicherte
Ausdrücke vorausgehen, ist n ein Rückverweis, dem das
Literal m folgt. Wenn keine der vorhergehenden Bedingungen
zutrifft, entspricht \nm dem oktalen Escapewert nm,
wenn n und m Oktalziffern (0-7) sind. |
\nml |
Entspricht dem oktalen Escapewert nml, wenn n
eine Oktalziffer (0-3) ist und m und l Oktalziffern
(0-7) sind. |
\un |
Entspricht n, wobei n ein Unicodezeichen ist,
das mit vier Hexadezimalziffern ausgedrückt wird. Beispielsweise
entspricht '\u00A9' dem Copyrightsymbol (©). |
Beispiele zur Verwendung von FileMove Pro und regulären Ausdrücken finden
sich hier.
Weitere Beispiele und Informationen über reguläre Ausdrücke finden sich im
Internet über
Google.
Buchempfehlung: Reguläre
Ausdrücke 2.Auflage von Jeffrey E. F. Friedl
|