Size V2.0 © Uwe Gerlach UWE_GERLACH@INSIDER.ZER Ein Programm zur Ermittlung des Gesamtspeicherbedarfs von Ver- zeichnisbäumen und bestimmten Dateien ----------------------------------------------------------------- Das Copyright dieses Programms liegt auschließlich beim Autor. Es darf jedoch frei kopiert werden, sofern nur Kopiergebühr und nicht mehr als der Preis des Datenträgers verlangt wird. ----------------------------------------------------------------- Gerade bei tief verschachtelten Dateibäumen ist es nicht immer einfach herauszufinden, wieviel Platz ein bestimmtes Verzeichnis mit allen seinen Unterverzeichnissen insgesamt benötigt. Manchmal ist es auch interessant zu wissen, welchen Platz die vielen .in- fo-, .bak- oder .fastdir-Files belegen. Diese Fragen beantwortet der hier vorgestellte CLI-Befehl Size sehr einfach. Wird er ohne Parameter oder nur mit -? aufgerufen, erscheint folgende Kurzanleitung: Size V2.0 © Uwe Gerlach (UWE_GERLACH@INSIDER.ZER) 4.12.1990 Shows overall Size of all files matching FileName in RootDirectory and in all its subdirs (for example all .fastdir, #?.BAK or #?.info). FileName may contain wildcards (?, #, *). Missing FileName equates *. Option: d Displays size and name of all matched files Usage: Size RootDirectory [FileName] [-d] Damit ist bereits (fast) alles gesagt. Es wird das angegebene Root-Directory und alle seine Unterverzeichnisse bearbeitet. Das Root-Directory kann sowohl ein Device-Name (also etwa DF0:, DH0: oder auch Work-Disk:), als auch ein beliebiger Unterverzeichnis- Name (also etwa DF0:Texte/Stud) sein. Bei der Angabe des Namens der zu suchenden Files dürfen auch die beim AMIGA üblichen Wild- Cards entsprechend der Definition beim CLI-Befehl List im AMIGA- DOS-Handbuch verwendet werden, und zusätzlich auch der *, wie in MSDOS üblich. Dadurch verbieten sich allerdings Filenamen die ein solches Zeichen tatsächlich enthalten. Als Beispiel sei folgende Directory-Struktur angenommen: DF0: | Programme.info Texte.info Pictures.info / | \ / | \ Programme Texte Pictures / / \ \ / / \ \ / / \ \ Prog1 AText BText Prog1.Pic Prog1.info | | Prog1.Pic.info Prog2 AText1.info BText1.info Backup.pic Prog2.info AText2 BText1 Prog3 AText2.BAK rog3.info AText2.info Auf DF0: existieren die drei Dateien Programme.info, Texte.info und Pictures.info, sowie die drei Unterverzeichnisse Programme, Texte und Pictures mit den angegebenen Dateien, wobei Texte noch- einmal die Unterverzeichnisse AText und BText enthält. Um die Größe der im Verzeichnis Texte sowie seiner beiden Unter- verzeichnisse enthaltenen Dateien zu bestimmen, kann man nun ein- fach Size DF0:Texte eingeben. Dabei werden die Anzahl der benötigten Blöcke, die An- zahl der tatsächlich belegten Bytes und die Anzahl aller gefunde- nen Dateien im Verzeichnisbaum ausgegeben. Will man nur die Größe aller .info-Dateien im Verzeichnis Texte wissen, gibt man Size DF0:Texte *.info ein. Bei einem zusätzlich angefügten -d (für display) werden alle gefundenen Dateien mit ihrer Größe und ihrem vollständigen Pfad- namen ausgegeben. Die Reihenfolge hängt von verschiedenen Faktoren ab und ist in der Regel nicht vorhersehbar. Unterverzeichnisse werden jedoch immer in sich geschlossen behandelt. An jeder Stelle kann der Programmlauf mit Ctrl-C, Ctrl-D, Ctrl-E oder Ctrl-F abgebrochen werden. In diesem Fall wird die Größe aller bis dahin gefundenen Files angezeigt. Gibt man nur Size ? an, dann antwortet das Programm AMIGA-üblich mit seiner Befehlsschablone und gibt Gelegenheit, beispielsweise die Diskette zu wechseln und die weiteren Parameter einzugeben. Achtung: Das Programm Size wertet nur die tatsächliche Größe der Dateien aus. Verwaltungsblöcke für die Directory-Struktur bleiben unberücksichtigt. Daher sind in der Regel auf einer vollen Disket- te mehr Blöcke belegt, als für die reinen Dateien benötigt werden. Enjoy Uwe