GLASNOST Version 1.0 Public Domain Januar 1993, Hans H”mberg Was ist Glasnost ------------------------------------------------------------------------ Glasnost besteht aus 6 kleinen Utilities (TTP's), die in Verbindung mit einer textorientierten Shell, z.B Mupfel von Gereon Steffens, zu etwas mehr Durchblick im TOS/GEMDOS Dateisystem verhelfen sollen. Mit Glasnost kann jeder Datei ein max. 40 Zeichen langer Infotext zugeordnet werden, der im Verzeichnislisting angezeigt wird und ber den die Datei auch an- gesprochen werden kann. Leute die ausschliesslich mit GEM Programmen arbeiten sollten sich nun besser eine andere Lektre suchen, da Glasnost unter einer grafischen Oberfl„che nicht sinnvoll einsetzbar ist. Das ist sehr schade, denn ge- rade bei GEM Desktop's, wie z.B GEMINI von Stefan Eissing, w„re eine Einbindung von erweiterten Dateinamen ber den Menpunkt `Datei Info' besonders interressant.. Als Vorbild fr Glasnost musste die "describe" Funktion der MS-DOS Shell 4DOS herhalten. Zugunsten eines schnelleren Schreib/Lese-zugriffs wurde jedoch auf eine 100%ige Kompatibilit„t verzichtet; trotzdem k”nnen die 4DOS Kommentare von Glasnost problemlos gelesen werden (und umgekehrt). Glasnost kommt in Form folgender Dateien daher: - DESCRIBE.TTP Kommentare vergeben und editieren. - DIR.TTP Verzeichnislisting ausgeben, inc. Kommentar - COPY.TTP Dateien kopieren, inc. Kommentare - RENAME.TTP Dateien umbenennen/verschieben, inc. Kommentar - DELETE.TTP Dateien l”schen, inc. Kommentar - APPLY.TTP Shell Funktionen anwenden, laut Bedingung - GLASNOST.DOK Diese Gebrauchsanleitung In einem getrennten Ordner o. Archiv und zusammen mit dieser Datei darf Glasnost, auch in Verbindung mit anderen Freeware/Shareware Produkten, gerne weitergegeben werden. Es _sollte_ auf jedem Atari ST/TT mit einer TOS Version ab 1.02 lauff„hig sein. *der Autor neigt gelegentlich zu einer etwas geschwollenen Ausdrucks- weise, ich bitte das (milde) zu bercksichtigen.. *der S„zzer Installation ------------------------------------------------------------------------ Wie schon gesagt, die Anwendung von Glasnost ist nur zusammen mit einem leistungsf„higen Kommandozeileninterpreter (meistens "Shell" oder "CLI" genannt) m”glich. Ich beziehe mich dabei insbesondere auf die Arbeit mit dem genialen Gemini/Mupfel Gespann, womit es u.a. m”glich ist Kommando- zeilen sehr komfortabel in einem GEM-fenster zu bearbeiten. Alle Shells die das erweiterte `xARG' Verfahren zur Argumentbergabe untersttzen und ihre internen Funktionen ber die Systemvariable `_shell_p' anderen Programmen zug„nglich machen, sind vorzglich zur Ansteuerung von Glas- nost geeignet (z.B Gulam). Im folgenden wird davon ausgegangen dass Sie mit der Bedienung solcher Shells bereits vertraut sind.. ..kopieren Sie alle Glasnost TTP's in ein Verzeichnis das der Shell durch die Environmentvariable `PATH' bekannt ist, das war's FERTIG. Vorteilhaft w„re, wenn sich dieses Verzeichnis auf einer Ramdisk befin- det und standartm„ssig gehasht wird (Mupfel), das beschleunigt den Zu- griff ganz erheblich, ist aber keine Voraussetzung. Allgemeine Benutzung ------------------------------------------------------------------------ Die Glasnost TTP's lassen sich nun, genauso einfach wie die internen Shell Befehle, ber ihre Namen aufrufen. Sie unterscheiden sich dabei in Funktion und Bedienung kaum von den korrespondierenden Befehlen: ls, dir cp, copy, mv, ren, rm, und del - wie sie auch auf anderen Systemen nicht ganz unbekannt sind. (UNI*, DOSe undundund..) Dabei sollen die Glasnost Funktionen: dir, copy, rename u. delete ledig- lich als Ersatz fr die eingebauten Shell Befehle herhalten; was aber nur n”tig ist wenn mit Dateien gearbeitet wird die auch tats„chlich mit Kommentaren belegt sind.. ..genau das l„sst sich mit der Funktion "describe" bewerkstelligen, w„h- rend "apply" dazu dient solche Dateien auch ber den erweiterten Datei- namen (Kommentar) anzusprechen, um z.B irgendein internes oder externes Kommando darauf anzuwenden (l”schen, kopieren, archivieren u.s.w). Alle TTP's folgen bei der Auswertung der Kommandozeile einer einheitli- chen Logik (hoffentlich). Alle Argumente die nicht durch ein vorange- stelltes '-' als Option oder Schalter gekennzeichnet sind werden als Verzeichnis\Dateiname interpretiert. Dabei ist in den meisten F„llen die šbergabe von beliebig vielen Argumenten m”glich, es wird aber nur die Pfadkomponente des ersten und evt. des letzten (copy, rename) Arguments beachtet, alle weiteren werden ignoriert. Die blichen Wildcards '*' und '?' sind natrlich auch erlaubt. Zugriffe auf nicht vorhandene Laufwerke oder Verzeichnisse werden nur von "dir" abgefangen, die anderen Tools reagieren mit einer BIOS Fehlermeldung. Die Environmentvariable `DSCFILE' gibt den Dateinamen an, unter dem die Glasnost Daten verwaltet werden; voreingestellt ist `DESCRIPT.ION'. Sie wird von allen Tools bercksichtigt, braucht aber normalerweise nicht gesetzt zu werden. Alle Optionen werden durch 1 Buchstaben dargestellt und lassen sich auch in Grppchen zusammenfassen ( z.B -xrdsf ). šber die Option '-?' gibt jedes TTP einen kurzen Hilfetext aus. describe ------------------------------------------------------------------------ describe [Optionen] [Verzeichnis\][Dateien] [Kommentar] Wird ben”tigt um Kommentare zu vergeben oder zu editieren. Es k”nnen (fast) beliebig viele Argumente angegeben werden. Falls kein Verzeichnis o. Dateiname angegeben ist, werden alle Dateien im aktuellen Verzeichnis bearbeitet. `Kommentar' muss min. 1 Leerzeichen enthalten, sonst wird er als Dateiname interpretiert. Wenn `Kommentar' fehlt, tritt der einge- baute describe Editor auf den Plan; die angegebenen Dateien oder das komplette Verzeichnis erscheinen nach Namen sortiert und k”nnen mit den folgenden Tasten editiert werden: Cursortasten wie blich. links zum Zeilenanfang. rechts zum Zeilenende ESCAPE Ganze Zeile l”schen D Text zwischen Cursor u. Zeilende l”schen C Text zwischen Cursor u. Zeilende merken P o. UNDO Gemerkten Text einfgen RETURN zur n„chsten Zeile. A o. C Abbruch ohne Speichern. S Abbruch mit Speichern. HELP Es erscheint das Hilfemen: "[A]bbruch, [S]ichern, [W]eiter" ESCAPE und D kann mit UNDO rckg„ngig gemacht werden. Mit den nor- malen Tasten kann der Text editiert werden wie blich. Alle Ascii Zei- chen sind erlaubt, die maximale Zeilenl„nge ist 40 Zeichen. Optionen: -d (delete) die Kommentare der angegebenen Dateien werden gel”scht -v (version) aktuelle Versionsnummer ausgeben Environment: ROWS gibt die Bildschirmgr”sse in Zeilen an, falls diese Variable nicht gesetzt ist werden 25 Zeilen vorausgesetzt. DSCFILE Name der Glasnost Systemdatei, siehe -> Allgemeine Benutzung. dir ------------------------------------------------------------------------ dir [Optionen] [Verzeichnis\][Dateien] Dies ist ein Ersatz fr die interne Shell Funktion "ls" oder "dir". Er verh„lt sich wie jede handelsbliche dir Funktion; bis auf zwei kleine Unterschiede: 1.) Die hbschen Kommentare die mit "describe" erstellt wurden, werden angezeigt. (..ausser bei mehrspaltiger Ausgabe) 2.) Bei der Anzeige von besonders langen Verzeichnislistings kann mit den Cursor auf/ab Tasten gescrollt werden, jede andere Taste been- det diese Funktion. Dieses Feature wird bei einer Ausgabeumleitung ("dir > dir.txt") automatisch unterdrckt, es l„sst sich auch mit der Option '-s' absschalten. Optionen: -h (hidden) versteckte und Systemdateien werden angezeigt. -u (upper) Dateinamen werden in Groáschrift ausgegeben. -v (version) die aktuelle Versionsnummer wird ausgegeben. -d (dump) es werden ausschliesslich Dateinamen gelistet. -s (small) Kopf- und Fussszeilen werden unterdrckt, -r (reverse) Umkehrung der normalen Sortierreihenfolge. -1|2|3|4|5|6 formatierte Ausgabe mit -x Spalten. -a[^]LSHDAR (attribute) bei -a ohne Zusatzargument werden im Listing statt der Erstellungsszeit die Dateiattribute angezeigt. Bei Angabe eines oder mehrerer Zusatzargumente (Grossbuchstaben ohne Leerzeichen) werden nur Dateien aufgelistet bei denen die entsprechenden Attri- bute gesetzt - oder (bei vorangestelltem '^') nicht gesetzt sind. Als Attribute gelten: [L]abel, [S]ystem, [H]idden, [D]irectory, [A]rchiv, [R]ead only. -oN|T|L|D|A|K|U (order) Hiermit kann festgelegt werden nach welchem Kriterium das Verzeichnislisting sortiert wird. -o braucht ein Argument in Form eines Grossbuchstabens, dieser hat folgende Bedeutung: [N]ame, [T]yp, [L]„nge, [D]atum/Zeit, [A]ttribut, [K]ommentar, [U]nsortiert. Voreingestellt ist [N]ame. Environment: ROWS gibt die Bildschirmgr”sse in Zeilen an, falls diese Variable nicht gesetzt ist werden 25 Zeilen vorausgesetzt. DSCFILE Name der Glasnost Systemdatei, siehe -> Allgemeine Benutzung. copy ------------------------------------------------------------------------ copy [Optionen] [Quelle\][Dateien] [Ziel\][Datei] Da der Shell-interne "cp" o. "copy" Befehl die Glasnost Kommentare nicht bercksichtigt, ist diese Funktion n”tig. Sie kopiert `Quelle\Datei' nach `Ziel\Datei' oder eine oder mehrere `Dateien' in das angegebene Verzeichnis in Dateien gleichen Namens. Dabei k”nnen auch komplette Ver- zeichnisse kopiert werden, allerdings nur auf einer Ebene; d.h. rekur- sive Kopiervorg„nge sind leider nicht m”glich (Das kann zum Teil mit der Funktion "apply" erledigt werden..). Wenn nur 1 Argument angegeben ist wird das aktuelle Verzeichnis als Ziel betrachtet, sonst immer das letzte Argument. (sollte beachtet werden wenn die Shell eine Wildcard- expansion durchfhrt). Optionen: -v (version) aktuelle Versionsnummer ausgeben. -q (quiet) alle Textausgaben unterdrcken. -d (date) Datum der Quelldateien ignorieren. -n (nonexistent) bereits vorhandene Dateien nicht kopieren. -o (over) šberschreiben von vorhandenen Dateien ohne Sicherheitsabfrage. Environment: DSCFILE Name der Glasnost Systemdatei, siehe -> Allgemeine Benutzung. rename ------------------------------------------------------------------------ rename [Optionen] [Quelle\][Dateien] [Ziel\][Datei] Diese Funktion ersetzt den Shell-internen "mv" o. "rename" Befehl. Dabei bleiben die Glasnost Kommentare erhalten, sie beziehen sich ja auf den Inhalt einer Datei - und nicht auf den Namen. "rename" benennt `Quelle\ Datei' in `Ziel\datei' um oder verschiebt eine oder mehrere `Dateien' in das angegebene Verzeichnis. Dabei k”nnen auch komplette Verzeichnisse (ohne Unterverzeichnisse, siehe "copy") verschoben werden. Wenn nur ein Argument angegeben ist wird das aktuelle Verzeichnis als Ziel benutzt, sonst immer das letzte Argument. Es kann - wie blich - nur innerhalb eines Laufwerks verschoben werden. Der Zugriff auf schreibgeschtzte Da- teien wird mit dem Hinweis "Zugriff nicht m”glich" bestraft. Mit "apply" als Prefix lassen sich auch komplizierte rename-Aktionen realisieren. (z.B alle *.x nach *.y, siehe "apply"..) Optionen: -v (version) aktuelle Versionsnummer ausgeben. -q (quiet) alle Textausgaben unterdrcken. Environment: DSCFILE Name der Glasnost Systemdatei, siehe -> Allgemeine Benutzung. delete ------------------------------------------------------------------------ delete [Optionen] [Verzeichnis\][Dateien] Verh„lt sich fast genauso wie der interne Shellbefehl "del" o. "rm". Die Funktion l”scht eine oder mehrere `Dateien' oder auch ganze Verzeichnis- se. Im letzten Fall wird nur der Inhalt gel”scht, das Verzeichnis selbst bleibt jedoch erhalten. Eine Sicherheitsabfrage erfolgt nur wenn dies durch die Option '-s' eingeschaltet ist. Zugriffe auf schreibgeschtzte Dateien werden mit dem Hinweis "Zugriff nicht m”glich" bestraft. Optionen: -v (version) aktuelle Versionsnummer ausgeben. -q (quiet) alle Textausgaben unterdrcken. -s (security) L”schen nur mit Best„tigung Environment: DSCFILE Name der Glasnost Systemdatei, siehe -> Allgemeine Benutzung. apply ------------------------------------------------------------------------ apply [Optionen] Funktion [Argumente].. ..to [Verzeichnis\][Dateien] [Bedingungen] "apply" nimmt innerhalb des Glasnost Systems eine Sonderstellung ein da es praktisch keine eigene Funktion hat, sondern dazu dient andere Funk- tionen (interne o. externe Shellkommandos) aufzurufen. Dabei baut es an- hand seiner eigenen Argumente (die nach dem "to") eine oder mehrere Kom- mandozeilen zusammen, mit denen eine andere Funktion aufgerufen wird. D.h. die angegebene `Funktion' wird auf `Dateien' angewendet die den ge- forderten `Bedingungen' entsprechen. Dabei kann - muss aber nicht - in `Argumente' das Stellvertreterzeichen '%' benutzt werden welches 2 Aufgaben hat: 1.) mit einer unmittelbar darauffolgenden Zahl (optional) kann festge- legt werden wieviele Argumente (Dateinamen) der `Funktion' pro Aufruf maximal bergeben werden drfen. (Voreinstellung ist: unbe- grenzt viele, max. 256 Zeichen) Die von "apply" ermittelten Argu- mente werden anstelle des '%' in die Kommandozeile eingesetzt. 2.) mit einem unmittelbar darauffolgenden Punkt + max. 3 Buchstaben (z.B '%.txt', nur sinnvoll bei einem vorhergegangenen '%1') kann eine bestimmte Dateiextension vorgegeben werden. D.h. an dieser Stelle wird der von "apply" ermittelte Dateiname eingesetzt, aber ohne Pfadkomponente und mit der neuen Extension. Beispiele: Funktion Argumente -------- ------------------- rename %1 %.xyz ass %1 -o d:\objekt\%.o more %5 copy -q % h:\tempdir print % -xrd dir -su6 Das '%' wird also nur gebraucht wenn 1.) eine zahlenm„ssige Begrenzung der Argumente erforderlich ist, oder 2.) die Argumente eine ganz be- stimmte Position in der Kommandozeile einnehmen sollen. Ohne das '%' werden die ermittelten Argumente immer hinten angeh„ngt. Die Funktion wird sooft aufgerufen bis alle ermittelten Argumente bearbeitet sind. Alle Parameter die dem "to" (siehe oben) folgen, werden als `Verzeich- nis\Dateiname' interpretiert sofern sie nicht durch ein vorangestelltes '-' als Option oder Bedingung markiert sind. Wenn `Verzeichnis\Dateien' fehlt beziehen sich `Bedingungen' auf das aktuelle Verzeichnis. Sowohl in den Dateinamen als auch in den Bedingungen k”nnen erweiterte (Unix- „hnliche) Suchmuster benutzt werden. Suchmuster: "?" steht fr _ein_ beliebiges Zeichen. "*" steht fr kein oder beliebig viele "?". "[a-z]" steht fr ein Zeichen innerhalb des Bereichs [von-bis]. "[”rKs]" steht fr eins der in Klammern angegebenen Zeichen. Jedes Zeichen kann mit einem vorangestelltem '\' gequoted werden und verliert dadurch seine Sonderbedeutung. Durch ein fhrendes '^' wird der Wahrheitsgehalt eines Ausdrucks umgekehrt, sowohl innerhalb der '[]' als auch fr das gesamte Suchmuster. Gross/Kleinschreibung wird nur beachtet wenn dies durch die Option '-c' (case-sensitivity) eingeschaltet ist. Bedingungen: -e Suchmuster (extendet-name) es werden nur Dateien gefunden deren Kommentar dem angegebenen Suchmuster entspricht. Beispiele: -e '?*' alle Dateien die irgendeinen Kommentar haben. -e '^?*' alle Dateien die _keinen_ Kommentar haben. -e'zaeh source' alle Dateien mit exakt diesem Kommentar. -e'test*' alle Dateien deren Kommentar mit "test" beginnt. -e'^*oxmox*' alle Dateien deren Kommentar _nicht_ die Zeichen- folge "oxmox" enth„lt. -d [<>=]Datum1[-Datum2] (date) es werden nur Dateien gefunden bei denen das Erstellungsda- tum gleich `Datum1' ist, oder in dem angegebenen Bereich liegt. Es gilt die bliche Schreibweise; Leerzeichen sind erlaubt, aber nicht n”tig. (gilt auch fr -t , -s und -a) Beispiele: -d'1.1.91 - 31.12.91' Anfang bis Ende 1991 -d '10.1' 10. Januar dieses Jahres -d '<13' 1. bis 12. dieses Monats -t [<>=]Zeit1[-Zeit2] (time) es werden nur Dateien gefunden deren Erstellungszeit gleich `Zeit1' ist, oder in dem angegebenen Bereich liegt. Beispiele: -t'12-17:00' 12:00 bis 17:00 -t '17' genau 17:00 Uhr -t '>= 20' 20:00 bis 23:59 Uhr -s [<>=]Gr”sse1[-Gr”sse2] (size) es werden nur Dateien gefunden deren L„nge genau `Gr”sse1' betr„gt, oder in dem angegebenen Bereich liegt. Beispiele: -s'<1000' kleiner als 1000 Bytes -s '100000 -200000' drfte klar sein.. -s '=< 5000' 0 bis 5000 Bytes -a [^]RHSLA (attribute) es werden nur Dateien gefunden bei denen die entspre- chenden Attribute gesetzt - oder (bei vorangestelltem '^') nicht gesetzt sind. Als Attribute gelten folgende Grossbuchstaben: [R]ead only, [H]idden, [S]ystem, [L]abel, [A]rchiv. Beispiele: -aA alle Dateien mit gesetztem Archivbit. -a RA Read only und Archivbit muss gesetzt sein. -a 'A^R' Archivbit gesetzt, kein Schreibschutz. Damit eine Datei gefunden wird, mssen alle angegebenen Bedingungen zu- treffen. Jede Bedingung kann - mit unterschiedlichen Argumenten - auch mehrmals verwendet werden. Optionen: -v (version) aktuelle Versionsnummer ausgeben. -c (case-sensitivity) Gross/Kleinschreibung im Suchmuster beachten. -h (hidden) Versteckte u. Systemdateien bercksichtigen. -i (info) Funktionsaufrufe (Kommandozeilen) anzeigen. -n (non-execute) Funktionsaufrufe nur anzeigen, nicht ausfhren. -l (list-directory) Das jeweils bearbeitete Verzeichnis anzeigen. -r (rekursiv) es werden alle Verzeichnisse unter dem angege- benen, oder aktuellen Verzeichnis bearbeitet. Environment: DSCFILE Name der Glasnost Systemdatei, siehe -> Allgemeine Benutzung. Hinweis: "apply" funktioniert nur in Verbindung mit einer Shell, die die Systemvariable `_shell_p' initialisiert hat. Beispiele + Tips ------------------------------------------------------------------------ In allen F„llen in denen Wildcards in Dateinamen verwendet werden die sich nicht auf das aktuelle Verzeichnis beziehen, empfiehlt es sich diese mit '' zu quoten. Es kann sonst zu merkwrdigen Ergebnissen kommen da die Shell (Mupfel, Gulam) stets versucht diese Wildcards anhand des aktuellen Verzeichnisses zu expandieren. In der harten Alltagspraxis hat es sich als ntzlich erwiesen die langen Glasnost Programmnamen durch 2buchstabige Aliase zu ersetzen.. damit lassen sich auch sehr sch”n be- stimmte Optionen voreinstellen. (z.B alias ls 'dir.ttp -ua') Vor der Anwendung von "apply" sollte man dessen Funktionsweise mit der Option "-n" ausprobieren. Es eignet sich prima fr Backup-Zwecke und fr Aufrufe aus Stapeldateien heraus. Wenn man z.B eine Batchdatei hat mit der man bei jedem Systemstart (oder nach jedem Absturz) ganz be- stimmte Dateien auf die Ramdisk kopiert, k”nnte man dort die folgende Zeile einfgen: apply cp % g:\ to c:\ -re'+*' Nun kann man jederzeit per "describe" die Dateien kennzeichnen die von dieser Batchdatei kopiert werden sollen (alle Dateien auf Laufwerk c: die ein '+' als erstes Zeichen im Kommentar haben..). Dabei spielt es auch keine Rolle ob man das normale, oder das Glasnost `cp' benutzt. Der voreingestellte Dateiname DESCRIPT.ION kann ber die Environmentva- riable `DSCFILE' ge„ndert werden. Auf die Art u. Weise lassen sich dann auch mehrere Kommentar Set's verwalten (COMPILE.ION, BACKUP.ION etc.) Beispiele: "alias ds 'describe.ttp'"; "ds" oder "ds c:\tempdir" Die Kommentare aller Dateien im aktuellen Verzeichnis oder im Ver- zeichnis "c:\tempdir" k”nnen interaktiv editiert werden. "ds c:\tempdir\*.bak '*.dup' 'sp„ter l”schen!'" Alle Dateien im Verzeichnis "c:\tempdir" mit der Endung ".bak" oder ".dup" werden mit dem Kommentar "sp„ter l”schen" versehen. "apply ds 'Zaeh Saucen Code' to d:\ '*.c' '*.h' -re '^?*'" Alle Dateien auf Laufwerk d: mit den Endungen ".c" oder ".h" die noch keinen Kommentar haben, werden mit dem angegebenen Kommentar versehen. "alias ls 'dir.ttp'"; "ls *.ttp" Alle Dateien mit der Endung "*.ttp" auflisten. "apply ls to '^*.ttp'" Alle Dateien, ausser die mit der Endung "*.ttp", auflisten. "apply ls -s to c:\ -lr" Gesamtverzeichnis fr Laufwerk c: ausgegeben, mit Kommentaren. "alias cp 'copy.ttp'"; "cp -n d:\source h:\source" Alle Dateien aus "d:\source\" werden nach "h:\source" kopiert, falls eine Datei im Zielverzeichnis bereits existiert, wird nur der Kommentar kopiert. "apply cp % a:\tiramisu to c:\ -re'*Projekt TiramiSu*'" Alle Dateien auf Laufwerk c: die die Zeichenfolge "Projekt Tira- miSu" im Kommentar haben, werden in das Verzeichnis "a:\tiramisu" kopiert, inklusive Kommentar. "alias mv 'rename.ttp'"; "mv c:\tempdir c:\trashdir" Alle Dateien aus dem Verzeichnis "c:\tempdir\" werden nach "c:\trashdir\" verschoben. "apply mv %1 %.dup to c:\*.bak -r" Alle Dateien auf Laufwerk c: mit der Endung ".bak" werden in gleichnamige Dateien mit der Endung ".dup" umbenannt, der Kommen- tar bleibt erhalten. "alias rm 'delete.ttp'"; "rm c:\tempdir" Alle Dateien im Verzeichnis "c:\tempdir" werden ohne Sicherheits- abfrage gel”scht, ausgenommen versteckte und schreibgeschtzte Dateien. "apply rm to c:\ -re'*l”schen*'" Alle Dateien auf Laufwerk c: die die Zeichenfolge "l”schen" im Kommentar haben, werden gel”scht - inklusive Kommentar. "apply compress %1 to d:\ '*.[^pta]*' -rs'>100000'" Alle Dateien auf Laufwerk d: die eine Extension haben die nicht mit 'p', 't' oder 'a' beginnt und die gr”sser als 100000 Bytes sind werden komprimiert. "apply ass %1 -o h:\objekt\%.o to d:\source '*.s' -id'>14'" Alle Dateien im Ordner "d:\source" die die Endung ".s" haben und nach dem 14. dieses Monats entstanden sind werden assembliert, die entstehenden Objekt-Dateien werden im Verzeichnis "h:\objekt" ab- gelegt. Jede Kommandozeile wird angezeigt. "apply %1 to d:\*.o -rne'*Projekt x*' > linkfile.txt" Es wird eine Textdatei erzeugt die die Verzeichnis\Dateinamen aller Objektdateien auf Laufwerk d: enth„lt die zum "Projekt x" geh”ren. "apply %1 h:\test.txt to c:\*.prg -re'*Lieblingseditor*' Alle Programme auf Laufwerk c: mit der Extension ".prg", die mit der Zeichenfolge "Lieblingseditor" gekennzeichnet sind, werden mit dem Argument "h:\test.txt" aufgerufen. Sonstiges ------------------------------------------------------------------------ Glasnost legt im jeweiligen Verzeichnis eine versteckte Datei namens DESCRIPT.ION an in der die erweiterten Dateinamen enthalten sind. Dabei werden durch wahlfreies lesen/schreiben, auch mit „lteren TOS Versionen und/oder langsamen Festplatten, recht flotte Zugriffsgeschwindigkeiten erreicht. Dieser Effekt wird lediglich beim erstmaligen Zugriff auf ein Verzeichnis gebremst (und bei gelegentlichen Reorganisationen) weil da- bei die Datei per Fcreate() neu angelegt werden muss. Aus dem Grund wer- den auch ungebrauchte DESCRIPT.ION's nicht gel”scht. Das Ende der gl- tigen Daten wird durch ein Z angezeigt. Eine DESCRIPT.ION wird bei jedem Schreibzugriff durch: describe, copy, rename oder delete nach Dateileichen durchsucht - die z.B dann entstehen wenn Dateien die einen Kommentar haben, mit dem normalen 'rm' gel”scht werden - gegebenenfalls wird dann eine 'garbage collection' durchgefhrt. Verzeichnisse die mehr als 300 Dateien enthalten, k”nnen von Glasnost nicht mehr korrekt bearbeitet werden. Dazu w„re eine aufwendige dyna- mische Speicherverwaltung n”tig gewesen, was sich ungnstig auf die Programmgr”sse ausgewirkt h„tte.. Alle TTP's versuchen durch Nichtbenutzung der Funktion Dsetpath() das berchtigte 40 (oder neuerdings 100-Ordner) Problem zu umschiffen. "apply" geht noch einen Schritt weiter und t„uscht - bei Verwendung von '-r' - gelegentlich einen Medienwechsel vor (..dazu braucht wohl nichts gesagt zu werden, oder?). Risiken und Nebenwirkungen sind bis jetzt nicht bekannt - und wohl auch in Zukunft nicht zu befrchten - da Glasnost v”llig ohne Systemeingriffe und/oder Vektorverbiegungen auskommt. Ansonsten: fragen Sie bitte Ihren Arzt oder Apotheker.. der Autor (ich) kann leider keinerlei Garantie fr die korrekte Funktionsweise bernehmen (bei dem Preis). Glasnost wurde mit SOZOBON C (pd) und der von Holger Weets erweiterten u. optimierten Standart Bibliothek programmiert. Die Routinen zur Such- mustererkennung habe ich dem Sourcecode von MicroEMACS 3.9 entnommen. An dieser Stelle mein Dank (..!) und sch”ne Grsse in die USA! Diese PD Software ist noch keineswegs ausgereift, deshalb sind auch Fehlerhinweise, Anregungen, Verbesserungsvorschl„ge (und die blichen Drohbriefe) ganz besonders willkommen. Wer an dem Sourcecode interres- siert ist schickt bitte einen frankierten Rckumschlag mit einer forma- tierten Leerdiskette an: Hans H”mberg Linden Str. 136 4150 Krefeld BRD Hals und Beinbruch..