home *** CD-ROM | disk | FTP | other *** search
-
-
- W I T H
- =============
-
- 1988 by Fridtjof Siebert.
- Nobileweg 67
- 7000 Stuttgart-40
-
- Was?
-
- `WITH' ist ein leistungsstarker CLI-Befehl, der es leicht ermöglicht,
- beliebige CLI Befehle auf alle Dateien anzuwenden, die zu einem
- Namensmuster, wie z.B. "#?.mod", passen.
-
- Arp?
-
- Um WITH nicht unnötig lang zu machen (indem ich InOut, Arguments etc.
- importier'), benutzt WITH Routinen der arp.library. Wer ARP noch nicht
- installiert hat, sollte sich also die arp.library in sein LIBS: Directory
- kopieren.
-
- Wie?
-
- Usage: WITH <Muster> <Commando> [TO File] [ALL] [DIRS] [FILES] [SHOW]
-
- Werden falsche Argumente übergeben, gibt WITH die Usage aus.
-
- Muster:
- Ein ist ein beliebiges, das von ARP interpretiert werden kann, wie
- z.B. *.in?o.
-
- Commando:
- Commando kann irgendein CLI Befehl sein, oder auch mehrere Befehle
- mit Optionen. Die Stellen, an denen der Filename eingesetzt werden
- soll, werden durch "$" gekennzeichnet. Es können auch mehrere
- Commandos angegeben werden. Sie müssen dann durch Strichpunkte, wie
- in Modula, von einander getrennt werden. Bei manchen Shells darf
- in der Argumentliste keine '$' vorkommen. In diesem Fall funktioniert
- jedoch meistens '\$' oder '$$'.
-
- TO File:
- Optional kann hier wie bei "TYPE x TO prt:" eine Ausgabedatei
- angegeben werden, in der die Ausgaben von Commando landen.
-
- ALL:
- Bewirkt, daß alle Commando auch mit allen Files als Argument
- gestartet wird, die in Unterdirectories der mit dem Dateimuster
- angegebenen Directories stehen.
-
- DIRS,FILES:
- DIRS und FILES bewirken, daß das Programm nur Directories bzw. nur
- Files, die auf das Muster passen, berücksichtigt. Wird weder DIRS
- noch FILES angegeben, so wird das Commando sowohl mit Directories,
- als auch mit Dateien gestartet.
-
- SHOW:
- Ist diese Option gesetzt, wird vor der Ausführung das Commando mit
- den eingestzten Filenamen ausgegeben. Somit kann man bei Befehlen,
- die nichts aussgeben, wie z.B. DEL und COPY, das Geschehen verfolgen.
-
- With kann jederzeit durch ^D, ^E oder ^F abgebrochen werden. Wiese ^C
- nicht funktioniert weiß' ich nicht genau. Ich nehm' an, das liegt an
- Arts.
-
- Häh?
-
- Da den Befehl jetzt bestimmt noch niemand verstanden hat, hier ein paar
- Beispiele:
-
- WITH *.mod TYPE
-
- Gibt alle Dateien, die auf ".mod" enden, aus.
-
- WITH * LIST DIRS
-
- Listet alle Directories im aktuellen Verzeichnis.
-
- WITH DF0: LIST ALL DIRS TO Directory
-
- Macht in etwa das gleiche wie "DIR >Directory DF0: OPT A", nur mit
- LIST.
-
- WITH DF0: "COPY $ TO RAM:" ALL FILES SHOW
-
- Kopiert alle Dateien aus allen Directories von DF0: in das
- Root-Directory der Ramdisk. Dabei werden die ausgeführten Befehle
- jeweils angezeigt.
-
- WITH DF0:Texte/* "COPY Icons:Text.info $.info" FILES
-
- Versieht alle Dateien in DF0:Texte mit dem Icon Icons:Text.info.
-
- WITH DF0:* "RENAME $ AS $.txt" ALL FILES
-
- Hängt an alle Dateien in DF0: die Endung ".txt".
-
- WITH *.def "ECHO File $:; TYPE $"
-
- Dies ist schon etwas komplizierter. Der Strichpunkt sorgt dafür, daß
- die beiden Befehle "ECHO" und "TYPE" getrennt ausgeführt werden.
- Zunächst gibt ECHO also "File " gefolgt von dem Filenamen und einem
- Doppelpunkt aus. Danach wird das entsprechende File von TYPE
- ausgegeben. Das Ergebnis könnte also in etwa so aussehen:
-
- File: Grafik.def:
- DEFINITION MODULE Grafik;
- ...
- END Grafik.
- File: Sound.def:
- DEFINITION MODULE Sound;
- ...
- END Sound.
- Done.
-
-
- Ich hatte letztens das Problem, die lauter Directories mit M2-Projekten
- enthielt, die sym-, obj- und ref-Directories zu löschen, um Platz zu
- schaffen. Ohne WITH wäre das sehr mühselig gewesen. Mit With geht es
- ganz einfach:
-
- WITH df0:*/??? "del $ all; del $.info" dirs
-
- Diese eine Zeile sucht nach directories mit 3 Buchstaben und löscht
- diese und ihre Icons.
-
-
- WITH funktioniert auch mit beliebigen anderen Utilities und Commandos,
- die keine Filemuster erlauben.
-
- Copyright:
-
- WITH ist Public Domain. Es darf von jedem umsonst, aber nicht kommerziell,
- genutzt werden. Nur BCPL Programmierer dürfe WITH nicht benutzen!
-
- Spenden, Briefe, Änderungsvorschläge sind immer willkommen.
-
- Viel Spaß!
-
- --- Fridtjof.
-