home *** CD-ROM | disk | FTP | other *** search
- ; DiavoloStandard.filter
- ;
- ; Beispiel und Dokumentation für Filter in Diavolo Backup
- ;
- ; V1.28 17-10-94
- ;
- ;
- ; *************************************************************************
- ; *************************************************************************
- ;
- ; Zweck:
- ; ======
- ; Damit Sicherungen automatisch ablaufen können, muß ein Weg vorhanden
- ; sein, Dateien automatisch nach bestimmten Kriterien auszuwählen.
- ; Filter bieten diese Möglichkeit.
- ;
- ; Anwendung:
- ; ==========
- ; In der Geräteauswahl findet man das neues Gadget "Filter". Wird dieses
- ; ausgewählt, so kann über den Dateidialog eine Textdatei als Filter
- ; ausgewählt werden. Diavolo geht dann jede Zeile dieser Datei durch und
- ; führt die darin angegebenen Anweisungen durch.
- ; Später kann ein Filter auch durch externe Programme (ARexx, Scheduler)
- ; aktiviert werden.
- ;
- ; Aufbau:
- ; =======
- ; Eine Filter ist eine Textdatei, die mit jedem Editor erstellt und
- ; bearbeitet werden kann. Der Aufbau ist einfach und entspricht weitest-
- ; gehend der Bedienabfolge bei manueller Dateiauswahl.
- ;
- ; Kommentarzeilen werden mit einem Strichpunkt (;) eingeleitet (Es können
- ; keine Kommentare an eine Befehlszeile angehängt werden!).
- ;
- ; Bevor Dateien und Verzeichnisse ausgewählt werden können, muß zunächst
- ; eine Partition eingescannt werden. Das sieht z.B. so aus:
- ;
- ; SCAN Work:
- ;
- ; Diese Zeile (ohne den Strichpunkt) würde die Partition Work vollständig
- ; einscannen. Zunächst ist jedoch noch keine Datei dieser Partition aus-
- ; gewählt. Der Vorgang entspricht einem Doppelklick auf eine Partition in
- ; der Datenträgerliste.
- ;
- ; Es können nicht nur Partitionen eingescannt werden, mehr dazu in der
- ; detailierteren Beschreibung weiter unten.
- ;
- ; Nachdem die Partition eingescannt wurden, können Dateien selektiert
- ; werden. Die folgende Zeile würde alle Dateien dieser Partition aus-
- ; wählen:
- ;
- ; INCLUDE #?
- ;
- ; Um z.B. .bak Dateien wieder zu deselektieren kann die Zeile
- ;
- ; EXCLUDE #?.bak
- ;
- ; angegeben werden.
- ; Sollen Dateien aus einem bestimmten Verzeichnis eingeschlossen werden,
- ; so kann der Pfad mit angegeben werden. So selektiert die folgende An-
- ; weisung alle Dateien des Pfades Work:Diavolo:
- ;
- ; INCLUDE Diavolo/#?
- ;
- ; Bitte beachten: Der Partitionsname darf nicht mehr angegeben werden.
- ; Ausserdem muß jedes Verzeichnis mit einem / abgeschlossen werden, also
- ; INCLUDE Diavolo
- ; würde NICHT funktionieren.
- ;
- ; Es können noch eine Reihe von Optionen angegeben werden:
- ;
- ; NOSUBDIRS:
- ; Normalerweise werden auch Dateien in Unterverzeichnissen
- ; mitselektiert. Mit dieser Option wird das verhindert
- ; Beispiel:
- ; INCLUDE Sourcen/Test.c
- ; Selektiert alle Dateien mit dem Namen "Test.c" im Verzeichnis
- ; Sourcen und allen seinen Unterverzeichnissen.
- ; INCLUDE Sourcen/Test.c NOSUBDIRS
- ; Selektiert nur die Datei "Test.c" (so sie vorhanden ist). Das
- ; ist die einzige Methode nur eine einzige Datei zu
- ; (de)selektieren!
- ;
- ; NOEMPTYDIRS:
- ; Leere Verzeichnisse werden ohne diese Option immer miteinbezogen.
- ; Z.B. deselektiert die Zeile
- ; EXCLUDE #?.bak
- ; auch alle leeren Verzeichnisse. Um das zu vermeiden, muß die Zeile
- ; wie folgt geschrieben werden:
- ; EXCLUDE #?.bak NOEMPTYDIRS
- ; Hard- und Softlink-Verzeichnisse werden ebenfalls als leer an-
- ; gesehen!
- ;
- ; ARCHSET:
- ; Wird diese Option angegeben, so werden nur Dateien mit gesetztem
- ; Archivbit berücksichtigt.
- ;
- ; ARCHUNSET:
- ; Das selbe, nur diesmal mit NICHT gesetztem Archivbit.
- ;
- ; DATE:
- ; Diese Option erlaubt eine Angabe eines Datums. Es werden dann nur
- ; Dateien, die am angegebenen Tag oder später geschrieben wurden,
- ; berücksichtigt.
- ; Beispiel:
- ; INCLUDE #?.c DATE 1.10.1994
- ;
- ;
- ; Nun ein paar Detailinformationen für Insider:
- ;
- ; Die Zeilen werden über ReadArgs() eingelesen. Der Template sieht wie
- ; folgt aus:
- ; SCAN=S/S,INCLUDE=+/S,EXCLUDE=-/S,PATH/A,ARCHSET/S,ARCHUNSET/S,
- ; NOSUBDIRS/S,NOEMPTYDIRS/S,SINCE=DATE
- ;
- ; SCAN kann also durch S abgekürzt werden, INCLUDE durch ein einfaches +
- ; und EXCLUDE durch - .
- ;
- ; Mit SCAN können nicht nur Partitionen gescannt werden. Es sind auch
- ; Assigns, Multiassigns und beliebige Pfade möglich.
- ;
- ; Bei Pfaden und Assigns können, wie oben beschrieben, Dateien aus Unter-
- ; verzeichnissen selektiert werden. Beispiel:
- ;
- ; SCAN Work:ProgrammEntwicklung/Sourcen
- ; INCLUDE Diavolo/#?.(c|h)
- ; INCLUDE MagicMenu/#?.(c|h)
- ;
- ; Die angegebenen Unterverzeichnisse beziehen sich also immer auf den
- ; eingescannten Pfad. Im obigen Beispiel darf der Pfad "Work:..."
- ; nicht in den INCLUDE Zeilen mit angegeben werden!
- ;
- ; Bei Multiassigns ist es nicht möglich, Unterverzeichnisse anzugeben.
- ; Es können nur global Dateien nach bestimmten Eigenschaften (Pattern,
- ; Archivbit etc.) selektiert werden.
- ;
- ;
- ; Beispiele:
- ; ==========
- ;
- ; Einscannen der Work: Partition und alle Dateien selektieren:
-
- SCAN Work:
- INCLUDE #?
-
-
- ; (Ab jetzt wird die Kurzschreibweise, also S für SCAN, + für INCLUDE
- ; und - für EXCLUDE, benutzt)
- ;
- ; Einscannen der DH0: Partiton. Alle Dateien, die das Archivbit nicht
- ; gesetzt haben (also seit der letzten Sicherung verändert wurden)
- ; selektieren. Alle .bak Dateien deselektieren. Leere Verzeichnisse
- ; nicht mitsichern:
-
- S DH0:
- + #? ARCHUNSET NOEMPTYDIRS
- - #?.bak
-
-
- ; Aus dem Fonts-Verzeichnis (Assigments) nur die Fonts "Helvetica",
- ; "XHelvetica" und "XCourier" sichern:
- ; (Falls Fonts: ein Multiassignment ist, muß stattdessen z.B.
- ; sys:fonts geschrieben werden!)
-
- S Fonts:
- + Helvetica/#?
- + XHelvetica/#?
- + XCourier/#?
- + (Helvetica|XHelvetica|XCourier).font
-
-
- ; Alle Preferences-Programme sichern, nicht jedoch Env-Archive und andere
- ; Unterverzeichnisse. Ausserdem soll NUR dieses Verzeichnis gescannt
- ; werden:
-
- S Sys:Prefs
- + #? NOSUBDIRS
-
-
-