
OCD Oli's Change Directory

Dokumentation zur Version 2.22g


FREEWARE

OCD.EXE ist FREEWARE, d.h. jeder darf es ohne Einschraenkungen verwenden
und an Dritte weitergeben. 
Die Verbreitung in PD/Freeware/Shareware-Sammlungen
erlaubt, wenn folgende Bedingungen erfuellt werden:
- Entgelt fuer den Diskettenvertrieb weniger als 15 DM pro Diskette.
- Dokumentation und das Programm OCD.EXE muessen unveraendert bleiben.


GEWAEHR

Obwohl mit erheblichem Aufwand versucht wurde alle Fehler aus OCD zu
entfernen, kann ein Fehlverhalten leider dennoch nicht ausgeschlossen
werden. Deshalb kann leider
KEINE VERANTWORTUNG ODER HAFTUNG FUER SCHAEDEN JEGLICHER ART
uebernommen werden, die moeglicherweise durch dieses Programm entstanden
sein koennten. Die Nutzung erfolgt auf eigene Gefahr.


WAS IST OCD

Die Hauptaufgabe von OCD ist das Wechseln von einem aktuellen Verzeichnis
in ein angegebenes Zielverzeichnis. Im Gegensatz zum DOS 'cd'-Kommando
kann mit OCD zu jedem beliebigen Unterverzeichnis auf einem beliebigen
Laufwerk gewechselt werden.
Dazu werden von OCD fuer jedes Laufwerk Informationdateien (DIRTREE?.OCD)
benutzt, anhand derer das angegebene Zielverzeichnis sehr schnell gefunden
werden kann.


VORAUSSETZUNGEN

Fuer den Betrieb von OCD.EXE ist leider mindestens ein 286-Prozessor 
notwendig. DOS hoeher als 3.00 ist empfehlenswert.
Zur sinnvollen Nutzung von OCD muss das Programm OCD.EXE von DOS aus
ueber die Umgebungsvariable PATH erreichbar sein, d.h. OCD.EXE sollte
in ein Verzeichnis kopiert werden, dass im PATH angegeben wurde
(z.B. C:\UTIL\). Eventuell ist es notwendig auch noch die Umgebungsvariable
OCD geeignet zu setzen, aber dazu spaeter mehr.


ARBEITEN MIT OCD

Beim ersten Aufruf analysiert OCD zunaechst die Zahl der angeschlossenen
Laufwerke. Fuer das aktuelle Laufwerk wird dann eine Informations-Datei
mit dem Namen DIRTREE?.OCD angelegt (? wird durch den Laufwerksbuchstaben
ersetzt). Diese Datei wird normalerweise im Root-Verzeichnis angelegt, falls
nicht mit der Option /drv (s.u.) ein anderes Verzeichnis angegeben wurde.

OCD kann im Prinzip auf zwei Arten aufgerufen werden:
Mit und ohne Angabe eines Zielverzeichnisses bzw Zielpfades.


OCD'S BAUM-MODUS

Wird OCD ohne die Angabe eines Zielverzeichnisses oder der Zielpfades
aufgerufen, wird das aktuelle Laufwerk als Baum dargestellt. Mit den
Cursor-Tasten kann ein beliebiges Verzeichnis angwaehlt werden. Ein
Druck auf die Return-Taste genuegt um in das Zielverzeichnis zu gelangen.

Folgende Tasten knnen benutzt werden:
Cursor Up         Ein Verzeichnis nach oben.
Cursor Down       Ein Verzeichnis nach unten.
Cursor Left       In das Parent-Verzeichnis wechseln (entsprich cd ..).
Cursor Right      In das erste Child-Verzeichnis wechseln.
Page Up           5 Verzeichnisse zurueck
Page Down         5 Verzeichnisse weiter
Home              Ins Root-Verzeichnis springen.
End               Verzeichnis zentrieren.
Tab               Hintergrund sichtbar machen.
CTRL Cursor Up    Window nach oben verschieben.
CTRL Cursor Down  Window nach unten verschieben.
CTRL Cursor Left  Window nach links verschieben.
CTRL Cursor right Window nach rechts verschieben.
CTRL Page Up      Window vergroessern.
CTRL Page Down    Window verkleinern.
CTRL Home         Window auf dem ganzen Bildschirm darstellen
CTRL End          Window nur auf der rechten Bildschirmhaelfte darstellen
F1                Hilfe zu den Funktions-Tasten anzeigen.
F2                Verzeichnisstruktur auf dem aktuellen Laufwerk neu einlesen.
                  Durch Druecken einer beliebigen Taste kann das Einlesen
                  unterbrochen werden.
F3                Wechseln zu einem anderen Laufwerk.
F4                Verzeichnis im Baum suchen. Es koennen beliebige
                  Pfadfragmente eingegeben werden.
                  (siehe dazu auch OCD'S COMMANDLINE-MODUS)
F5                Verzeichnis umbenennen
                  Falls die Sortier-Option aktiviert ist, muss der Baum
                  mit F2 neu eingelesen werden.
F6                Verzeichnisbaum ausdrucken oder in eine Datei schreiben.
                  In einer ersten Dialogbox mu angegeben werden, ob
                  graphische Sonderzeichen (PC-ASCII-Codes grer als
                  128 verwendet werden sollen oder nicht.
                  In einer zweiten Dialogbox mu der Dateiname angegeben
                  werden, in den der Verzeichnisbaum geschrieben werden
                  soll. Der Dateiname "prn" schickt den Inhalt direkt
                  zum Drucker.
F7                F7 und F8 sind der Taste F2 sehr aehnlich. Jedoch wird
                  nicht der ganze Verzeichnisbaum neu eingelesen, sondern
                  nur das aktuelle Verzeichnis nach neuen Verzeichnissen
                  durchsucht.
                  Durch Druecken einer beliebigen Taste kann das Einlesen
                  unterbrochen werden.
F8                Wie F7, jedoch werden zusaetzlich noch die Unter-
                  verzeichnisse des aktuellen Verzeichnisse nach zusaetzlichen
                  Verzeichnissen durchsucht.
F9                Information ueber den Inhalt des aktuellen Verzeichnisses
                  anzeigen.
                  Angezeigt werden:
                   - der auf dem Laufwerk belegte Speicherplatz (*),
                   - der freie Speicherplatz auf dem Laufwerk (*),
                   - die Bytes pro Sektor (*),
                   - die Bytes pro Cluster (*), besonders wichtig, da DOS
                     jede Datei auf eine bestimmte Zahl Cluster verteilt,
                   - Zahl der Dateien               hier  / xxxx ( xxxx ),
                   - Summe der Dateilaengen         xxxx  / hier ( xxxx ),
                   - Belegter Platz der Dateien (*) xxxx  / xxxx ( hier ),
                  Alle mit (*) gekennzeichneten Informationen beruhen
                  auf Angaben des DOS, die leider nicht immer
                  richtig sind. Vor allem bei Netz- oder CD-ROM
                  Laufwerke sollten man vorsichtig sein.
                  Durch Druecken einer beliebigen Taste kann diese Funktion
                  vorzeitig unterbrochen werden.
F10               Information ueber den Inhalt des aktuellen Verzeichnisses
                  und dessen Unterverzeichnisse anzeigen.
                  (Siehe Beschreibung bei F9)
INS               Ein neues Verzeichnis anlegen
CTRL DEL          Nach einer Sicherheitsabfrage wird das angegebene 
                  Verzeichnis und dessen Unterverzeichnisse geloescht.
                  Achtung: Es wird ALLES geloescht, insbesondere auch Hidden-
                  und Systemfiles.
                  Vor der Sicherheitsabfrage werden deshalb noch ein paar
                  Informationen ueber die zu loeschende Datenmenge gesammelt.
                  Das Root-Verzeichnis kann nicht geloescht werden!
                  Das Loeschen kann durch Druecken einer beliebigen Taste
                  abgebrochen werden.


OCD'S COMMANDLINE-MODUS

OCD kann mit der Angabe eines Zielverzeichnisses oder Zielpfades aufgerufen
werden und direkt in das Zielverzeichnis wechseln.
Es koennen beliebige Laufwerke, Pfade und Verzeichnisse angegeben werden.
Zudem duerfen zur Abkuerzung die Wildcards '*' und '?' verwendet werden.
Ein paar Beispiele dazu:

d:\>ocd c:sou         -->    C:\LANG\SOURCE
d:\>ocd s*e           -->    D:\PROJEKT\SOURCE
d:\>ocd l\so          -->    C:\LANG\SOURCE

Steht vor dem ersten Verzeichnis ein '\', so nimmt OCD an, dass es sich
um ein Root-Verzeichnis handelt:
d:\>ocd c:\sou        -->    findet C:\SOURCE, aber nicht C:\LANG\SOURCE
d:\>ocd \sou          -->    findet D:\SOURCE, aber nicht D:\PROJEKT\SOURCE

Zusaetzliche optionale Parameter fuer OCD:
/r    Verzeichnisstruktur auf dem aktuellen Laufwerk neu einlesen.
      (Kann jederzeit durch Druecken einer Taste unterbrochen werden)
/?    Hilfe zu den Parametern anzeigen.
alle weiteren Parameter sollten besser in der Umgebungsvariable OCD
angegeben werden:


DIE UMGEBUNGSVARIABLE 'OCD'

Das Verhalten von OCD kann in gewissen Grenzen gesteuert werden.
Dazu benoetigt OCD jedoch weitere Informationen, die mittels
bestimmter Parameter an OCD uebergeben werden. Da OCD jedoch
sehr oft aufgerufen wird, waere es umstaendlich, jedesmal alle
zusaetzlichen Informationen anzugeben. Im folgenden als Beispiel
drei Moeglichkeiten den Monochrom-Modus aufzurufen :

1. ocd /bw
Unpraktisch, da der Monochrom-Modus meist dauerhaft beibehalten werden soll
2. Batchdatei OCD.BAT mit dem Inhalt: 'ocd /bw %1 %2 %3' schreiben
Ist recht langsam, da erst die Batch-Datei, dann OCD.EXE geladen werden muss
3. Umgebungsvariable mit 'SET OCD=/bw' in der AUTOEXEC.BAT setzen
Dies ist der beste Weg, bestimmte Parameter automatisch
an OCD.EXE zu uebergeben.

Folgende Parameter koennen benutzt werden:

/m    Verhalten im Baum-Modus beeinflussen
      Hinter /m koennen bis zu 7 Zahlen angegeben werden:
      1. Zahl:   '1' (ein) oder '0' (aus)
      Cursorbewegung nach links, wenn nach oben nicht mehr moeglich
      2. Zahl:   '1' (ein) oder '0' (aus)
      Cursorbewegung nach unten, wenn nach rechts nicht mehr moeglich
      3. Zahl:   '1' (ein) oder '0' (aus)
      Cursorbewegung nach rechts wenn nach unten nicht mehr moeglich
      4. Zahl:   '1' (ein) oder '0' (aus)
      Page-Up ber die ganze Spalte hinweg
      5. Zahl:   '1' (ein) oder '0' (aus)
      Page-Down ber die ganze Spalte hinweg
      6. Zahl:   '0' ... '9'
      Zahl der oben und unten freigelassenen Zeilen
      7. Zahl:   '0', '1' oder '2'
      Gre des Cursors

/25   25 Zeilen-Display-Modus
/43   EGA 43 Zeilen-Display-Modus
/50   VGA 50 Zeilen-Display-Modus

/s    Die Verzeichnisse werden beim Einlesen nach ihrem Namen sortiert.
      Damit diese Option wirksam wird, muessen alle Laufwerke neu eingelesen
      werden (/r oder F2).

/drv  Mit diesem Parameter kann OCD mitgeteilt werden, wie mit einzelnen
      Laufwerken umgegangen werden soll.
      1. Laufwerke vom Betrieb mit OCD ausnehmen:
         /drv x
         'x' steht fuer einen beliebigen Laufwerksbuchstaben
      2. Fuer ein bestehendes Laufwerk kann angegeben werden, wo die
         Informations Datei DIRTREEx.OCD abgelegt werden soll.
         /drv x, dirtreepath
         'x' steht wieder fuer einen beliebigen Laufwerksbuchstaben
         'dirtreepath' ist das Verzeichnis, in dem die Datei DIRTREEx.OCD
         abgelegt werden soll (wichtig vor allem bei CD-ROMs oder
         Netzlaufwerken, bei denen man ja meist keine Schreibberechtigung
         im Rootverzeichnis hat)

/u x     Normalerweise wird der Verzeichnisbaum in einer Datei namens
         DIRTREEx.OCD abgelegt (das x steht fr ein bestimmtes Laufwerk).
         Im Zusammenhang mit der Option /drv und wechselbaren Medium
         (Disketten, CD-ROMs) kann es jedoch wnschenswert sein, fr jedes 
         Medium (eben z.B. einer CD-ROM) in dem angegeben Laufwerk einen
         anderen Namen zu vergeben.
         Genau dies wird mit dieser Option erreicht. Der Name besteht
         dann aus acht Hex-Ziffern, die mittels eines CRC aus dem
         Root-Verzeichnis gebildet wird. Fr jedes Medium wird dann 
         eine eigene Info-Datei angelegt, die bei Bedarf sofort verwendet
         werden kann, ohne da nach einem Wechsel des Mediums der 
         Verzeichnisbaum neu eingescannt werden mu.


OCD UND CD-ROMS

Tip zum Umgang mit CD-Roms:

1. Verzeichnis fr die Info-Datei festlegen. Z.B. mit SET OCD=/drv x,c:\
   In diesem Zusammenhang wird auch dringend empfohlen die Option /u 
   zu benutzen:
   Also: SET OCD=/drv x,c:\ /u x
   x steht hier fr den Laufwerksbuchstaben des CD-ROM Laufwerks.
2. OCD.EXE aufrufen und von dort mit F3 auf das CD-Rom Laufwerk wechseln
3. OCD wird jetzt versuchen den Verzeichnisbaum einzulesen. Da dies
   vermutlich sehr lange dauern wird, am besten gleich mit einer
   Taste abbrechen. Es erscheint dann auf dem Bildschirm nur das Wurzel-
   verzeichnis.
4. Ansgehend vom Wurzelverzeichnis kann die CD-Rom Verzeichnisstruktur jetzt
   stueckchenweise mit zunaechst F7, spaeter mit F8 eingelesen
   werden. 


PROBLEME MIT OCD

Ein Problem wurde bereits im Zusammenhang mit den Tasten F9 und F10
genannt. DOS liefert hier unter Umstaenden falsche Werte. Der Fehler
liegt vermutlich in der Treibersoftware zu dem entsprechenden Laufwerk.
Dieses Problem hat aber auer einer falschen Anzeige keinen Einfluss
auf OCD.

CD-ROMS haben teilweise ein sehr lange Zugriffszeit; dadurch kann
das Einlesen der Verzeichnisstruktur sehr lange dauern. Am besten
sollte das Einlesen fruehzeitig unterbrochen werden und anschluessend
die Verzeichnisse Schritt fuer Schritt mit F7 bzw F8 eingelesen werden.

Interessanterweise koennen auf CD-ROMS ungueltige Unterverzeichnisse
vorkommen. In diese Verzeichnisse kann weder von DOS aus, noch von
OCD verzweigt werden. Falls versucht wird in ein solches Verzeichnis
zu springen bleibt OCD im letzten gueltigen Verzeichnis stehen. Es
handelt sich also nicht um einen Fehler im OCD sondern um eine
fehlerhafte CD-ROM.

Mit DOS geloeschte Verzeichnisse werden mit F8 erkannt, mit F7 jedoch
nicht. Wenn ich mal wieder Zeit habe, werde ich das aendern.

Beim Umbenennen von Verzeichnissen (F5) in einem sortierten Baum, kann
die Sortierreihenfolge zerstoert werden. Dies hat auf das Programm keine
weiteren Auswirkungen und wird beim naechsten Einlesen (F2 oder F8)
wieder korrigiert.

Ansonsten bitte alle Fehler an mich schicken...

Oliver Kraus
AFU: DG4NBO@DB0BOX
EMAIL: oliver@cip.e-technik.uni-erlangen.de
Adresse: Oliver Kraus, Birkeinsteig 24, 91301 Forchheim


