BEZEICHNUNG
    wcd - Wherever Change Directory

    chdir für DOS und Unix

ÜBERSICHT
        wcd [Optionen] [Verzeichnis]

BESCHREIBUNG
  Übersicht
    Wcd ist ein Befehlszeilenprogramm zum schnellen Verzeichniswechsel. Es
    spart Zeit bei Tastatureingaben. Sie brauchen nur den Teil eines
    Verzeichnisnamens einzugeben, und wcd wechselt dorthin. Im Falle
    mehrerer Treffer verfügt wcd über eine Methode zur Schnellauswahl und
    ermöglicht die Definition von Aliasen und das Verbannen von
    Verzeichnissen. Außerdem beinhaltet wcd einen interaktiven
    Verzeichnisbaumbrowser im Vollbildmodus mit schneller Suche.

    Wcd wurde nach dem Vorbild des Norton Change Directory (NCD) entworfen.
    NCD erschien zuerst 1987 in *The Norton Utilities, Release 4* für DOS,
    veröffentlicht von Peter Norton.

    Wcd wurde auf verschiedene Befehlszeileninterpreter portiert: DOS
    (command.com), Windows (cmd.exe und PowerShell), OS/2 (cmd.exe) sowie
    Unix-Shells wie Bourne- (sh), Bourne-Again- (bash), Korn- (ksh), Z-
    (zsh) und die C- (csh) Shell und weitere auf verschiedenen
    Betriebssystemen ausführbare Shells.

    Wcd unterstützt 8-Bit-Zeichensätze auf allen Systemen und verfügt über
    optionale Unterstützung für Unicode. Weitere Informationen hierzu finden
    Sie im Abschnitt LOKALISIERUNG.

    Im Abschnitt INSTALLATION finden Sie Anweisungen, wie Sie wcd an Ihre
    persönlichen Wünsche anpassen können.

  Grundlegende Verwendung
    Per Vorgabe (wenn keine Platzhalter verwendet werden) sucht wcd nach
    einem Verzeichnis, dessen Name mit dem eingegebenen Namen beginnt.

    Beispielsweise wechselt dieser Befehl in das Verzeichnis
    "/home/user/Desktop" des aktuellen Benutzers:

        wcd Desk

    Bei mehreren möglichen Übereinstimungen zeigt wcd eine Liste aller
    Möglichkeiten an. Der Benutzer kann dann mit einigen Tastenkürzeln seine
    Auswahl treffen (meist nur mit einem).

  Platzhalter
    Wcd unterstützt die folgenden Platzhalter:

        *         findet jede Zeichensequenz (kein oder mehr Zeichen)
        ?         findet jedes einzelne Zeichen
        [GRUPPE]  findet jedes Zeichen in der angegebenen Gruppe,
        [!GRUPPE] oder [^GRUPPE] findet jedes Zeichen, das in der angegebenen
                  GRUPPE nicht enthalten ist.

    Eine Gruppe wird als Zeichen oder Bereich angegeben. Ein Bereich folgt
    der Form *Zeichen minus Zeichen*, zum Beispiel "0-9" oder "A-Z". Dabei
    ist "[0-9a-zA-Z_]" die minimal mögliche Gruppe nach dem Muster "[..]".
    Internationale Zeichen (zum Beispiel 8-Bit-Zeichen) sind erlaubt, falls
    das System diese unterstützt. Um die besondere syntaktische Bedeutung
    der Zeichen "[]*?!^-\" innerhalb oder außerhalb des Musters "[..]" zu
    berücksichtigen, so dass das exakte Zeichen gefunden wird, stellen Sie
    dem Zeichen einen Rückschrägstrich ("\") voran, um es zu maskieren.

    Die Verwendung von Platzhaltern ermöglicht eine leistungsfähige Suche.
    Beispielsweise findet folgende Anfrage alle Verzeichnisse, deren Name
    auf »top« endet:

        wcd *top

    Nach Verzeichnissen suchen, deren Name an einer beliebigen Stelle »top«
    enthält:

        wcd *top*

    Nach Verzeichnissen suchen, deren Name mit »a«, »b«, oder »c« beginnt:

        wcd [a-c]*

    Es ist auch möglich, einen Teil eines Verzeichnispfades anzugeben. Hier
    sucht Wcd nach Verzeichnissen, die mit »Desk« beginnen und der Pfad auf
    **me/Desk** passt.

        wcd me/Desk

    Es ist möglich, jede Art von Ausdruck mit Schrägstrichen und
    Platzhaltern einzugeben, zum Beispiel:

        wcd src*/*1?/a*2

  Weitere Anwendungsfälle
    Falls keine Platzhalter verwendet werden und wcd eine perfekte
    Übereinstimmung findet, werden alle »unscharfen« Übereinstimmungen per
    Vorgabe ignoriert. Dieses Verhalten kann mit der Option -w geändert
    werden.

    Der interaktive Verzeichnisbaumbrowser kann mit der Option -g gestartet
    werden.

        wcd -g

    Wcd generiert eine Baumdatei, in der nach dem Verzeichnis gesucht wird.
    Auf Unix- und Windows-Systemen fügt wcd beim Einlesen des
    Laufwerksinhalts symbolische Links zur Baumdatei hinzu, folgt diesen
    aber nicht. Dies wird deshalb unterdrückt, weil das Einlesen in einer
    Endlosschleife enden könnte oder größere Teile eines Netzwerks
    eingelesen werden müssten.

    Wcd kann auch in Verzeichnisse wechseln, die nicht in der Baumdatei
    enthalten sind, zum Beispiel:

        wcd ..

    Falls wcd einen Treffer findet, aber nicht in das Verzeichnis wechseln
    kann, versucht es, dieses Verzeichnis aus der Baumdatei zu entfernen,
    jedoch nicht aus der zusätzlichen Baumdatei. Siehe auch die Option -k.

    Wcd erstellt einen Verzeichnisstapel, der auf dem Laufwerk gespeichert
    wird. Der Stapel hat die vorgegebene Größe 10 und ist zyklisch. Siehe
    die Optionen -z, -, + und =.

    In Umgebungen mit mehreren Benutzern kann mit der Option -u in die
    Verzeichnisse anderer Benutzer gewechselt werden.

    Auf DOS- und Windows-Systemen ist es nicht von Bedeutung, ob Sie einen
    Schrägstrich »/« oder einen Rückschrägstrich »\« als Verzeichnistrenner
    verwenden.

    Auf DOS- und Windows-Systemen ist es möglich, gleichzeitig das Laufwerk
    und das Verzeichnis zu wechseln, indem Sie dem Verzeichnisnamen den
    Laufwerksnamen voranstellen.

        wcd d:games

  UNC-Pfade unter Windows
    Die Windows-Versionen (Befehlszeileninterpreter, PowerShell, MSYS, zsh,
    cygwin) unterstützen SMB-LAN-UNC-Pfade ohne Laufwerksbuchstaben wie
    "\\Servername\Freigabename". Wcd für den
    Windows-Befehlszeileninterpreter benutzt den »pushd«-Befehl, um einem
    UNC-Pfad automatisch einen Laufwerksbuchstaben zuzuordnen. In der
    Windows PowerShell, MSYS, zsh und Cygwin werden UNC-Pfade vollständig
    unterstützt. Das aktuelle Arbeitsverzeichnis kann ein UNC-Pfad sein.

  Schnittstellen
    Wcd verfügt über drei verschiedene Schnittstellen, um aus einer
    Übereinstimmungsliste zu wählen. Die Schnittstelle wird bei der
    Kompilierung ausgewählt.

    Die erste Schnittstelle verwendet die Standardeingabe und -ausgabe
    (stdin/stdout). Eine nummerierte Liste wird im Terminal ausgegeben. Sie
    können aus dieser Liste wählen, indem Sie eine Zahl eingeben und die
    <Eingabetaste> drücken. Diese Liste kann nicht zurückgerollt werden,
    wenn sie für die Bildschirmausgabe zu lang ist. Dafür muss die
    Zurückrollfunktion des Terminals oder der Konsole verwendet werden.
    Diese Schnittstelle ist sehr klein und portabel.

    Die zweite Schnittstelle setzt auf der Conio-Bibliothek auf. Hier ist
    eine Zurückrollfunktion bereits eingebaut. Wiederum wird eine Liste
    angezeigt, die aber hier Buchstaben als Aufzählungszeichen verwendet.
    Zur Auswahl eines Listeneintrags drücken Sie einfach die entsprechende
    Buchstabentaste. Wenn möglich, wird der Bildschirminhalt nach dem
    Beenden wiederhergestellt. Wenn Sie Zahlen anstatt Buchstaben
    bevorzugen, können Sie die Option -N verwenden.

    Die dritte Schnittstelle verwendet die Curses-Bibliothek und ist ähnlich
    der Conio-Schnittstelle. Die Curses-Schnittstelle von wcd hat zusätzlich
    auch eine »grafische« Oberfläche. Sie können ein Verzeichnis in einem
    interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die
    Navigation und Suchmethoden sind ähnlich wie in vim(1). Diese
    Schnittstelle kann mit der Option -g aktiviert werden.

    Mit der Option -o ist es jederzeit möglich, auf die
    stdin/stdout-Schnittstelle (Standardeingabe/Standardausgabe)
    auszuweichen.

OPTIONEN
    -a  fügt den aktuellen Pfad zur vorgegebenen Baumdatei hinzu.

        Verwenden Sie diese Option, um schnell den aktuellen Pfad zur
        Baumdatei hinzuzufügen. Das erneute Einlesen des kompletten
        Laufwerks kann in manchen Fällen recht lange dauern.

    -aa fügt den aktuellen und alle übergeordneten Pfade zur vorgegebenen
        Baumdatei hinzu.

    -A PFAD
        liest den Verzeichnisbaum aus *PFAD* und fügt ihn zur vorgegebenen
        Baumdatei hinzu. Beispiele:

            wcd -A .
            wcd -A /home -A /etc
            wcd -A d: -A e: -A \\server\share

        Unter Windows können Sie alle freigegebenen Verzeichnisse eines
        Windows-LAN-Servers einlesen, indem Sie etwa Folgendes eingeben:
        "wcd -A \\Servername".

        Siehe auch die Optionen -S, -s und -E.

    -b  verbannt den aktuellen Pfad.

        Wcd speichert den aktuellen Pfad in der Bann-Datei. Das bedeutet,
        dass zukünftig alle Übereinstimmungen ignoriert werden, die sich auf
        dieses Verzeichnis und dessen Unterverzeichnisse beziehen.

        Die Bann-Datei kann mit einem Texteditor bearbeitet werden. Die
        Verwendung von Platzhaltern ist möglich, außerdem werden
        Namensübereinstimmungen auf den absoluten Pfad bezogen.

        Verbannte Pfade werden beim Einlesen des Laufwerks nicht
        ausgeschlossen. Um dies zu tun, verwenden Sie die Option -xf.

    -c, --direct-cd
        Direkter CD-Modus. Per Vorgabe arbeitet wcd wie folgt:

            1. Es wird versucht, einen Treffer in der oder den Baumdatei(en)
               zu finden.
            2. Wird nichts gefunden, wird versucht, das eingegebene
               Verzeichnis zu öffnen.

        Im direkten CD-Modus arbeitet wcd in umgekehrter Reihenfolge:

            1. Es wird versucht, das eingegebene Verzeichnis zu öffnen.
            2. Wird nichts gefunden, wird nach einem Treffer in der oder
               den Baumdatei(en) gesucht.

    -d LAUFWERK
        legt das Laufwerk für den Verzeichnisstapel und die Go-Datei fest
        (nur DOS).

        Die Stapeldatei und das Go-Skript werden per Vorgabe im Laufwerk
        »C:« gespeichert, wenn die Umgebungsvariable *HOME* nicht gesetzt
        ist. Verwenden Sie diese Option, wenn »C:« ein schreibgeschütztes
        Laufwerk ist. Diese Option muss vor den Stapeloptionen -, + und =
        stehen.

    -e  fügt den aktuellen Pfad zur zusätzlichen Baumdatei hinzu.

        Verwenden Sie diese Option, um schnell den aktuellen Pfad zur
        zusätzlichen Baumdatei hinzuzufügen.

    -ee fügt den aktuellen Pfad und alle übergeordneten Pfade zur
        zusätzlichen Baumdatei hinzu.

    -E PFAD
        liest den Verzeichnisbaum aus *PFAD* und fügt ihn zur zusätzlichen
        Baumdatei hinzu. Siehe auch die Optionen -A und -S.

    -f DATEI
        liest die Baumdatei *DATEI*. Die vorgegebene Baumdatei wird nicht
        gelesen.

    +f DATEI
        liest die Baumdatei *DATEI* zusätzlich zur vorgegebenen Baumdatei.

    -g  verwendet die grafische Benutzeroberfläche (nur in Versionen mit
        curses-Schnittstelle).

        Wcd startet eine textbasierte, auf der Curses-Bibliothek aufsetzende
        »grafische« Schnittstelle. Sie können ein Verzeichnis in einem
        interaktiven Verzeichnisbaumbrowser im Vollbildmodus auswählen. Die
        Navigation und Suchmethoden sind ähnlich wie in vim(1).

        Wenn keine Suchzeichenkette angegeben ist, stellt wcd den gesamten
        Baum aus den Inhalten der vorgegebenen und der zusätzlichen
        Baumdatei dar.

        Wenn eine Suchzeichenkette angegeben ist, wird die Trefferliste als
        Verzeichnisbaum angezeigt.

        Die vorgegebene Ansicht des Baums ähnelt der Ansicht im originalen
        NCD unter DOS. Der Unterschied besteht darin, dass in NCD alle
        Verzeichnisse der gleichen Pfadtiefe im gesamten Baum vertikal
        angeordnet werden. Das war in NCD möglich, da ein Verzeichnisname in
        DOS nicht länger als 12 Zeichen (8.3) sein durfte. Auf modernen
        Betriebssystemen können Verzeichnisnamen sehr lang sein, außerdem
        sind große Unterschiede bei den Längen der Namen der verschiedenen
        Verzeichnisse möglich. Deswegen werden Verzeichnisse der gleichen
        Pfadtiefe in wcd nicht im gesamten Baum vertikal ausgerichtet,
        sondern nur in Verzweigungen. Daher kann es zu Seitenbewegungen
        kommen, wenn Sie eigentlich in der Hierarchie direkt nach oben oder
        von einer Verzweigung zu einer anderen navigieren wollen.

        Das Navigationsverhalten in Wcd ist exakt das gleiche wie im
        originalen NCD. Wenn Sie beispielsweise die Pfeil-ab-Taste drücken,
        gehen Sie damit zum nächsten Verzeichnis der gleichen Tiefe in der
        Verzeichnishierarchie, wobei Verzweigungen übersprungen werden. Dies
        ermöglicht die schnelle Navigation durch den Baum.

        Siehe die Optionen -Ta, -TC und -Tc zum Ändern des
        Navigationsverhaltens.

    -gd gibt die Baumdateien als Baum in die Standardausgabe aus.

    -G PFAD
        schreibt das Go-Skript in das Verzeichnis *PFAD*. Unter Unix
        beispielsweise schreibt "wcd -G PFAD" ein Go-Skript in PFAD/wcd.go.

    -GN, --no-go-script
        verhindert die Erstellung eines Go-Skripts. Diese Option kann
        zusammen mit -j verwendet werden, wenn Sie wcd kein Go-Skript
        schreiben lassen wollen.

    -h, --help
        zeigt eine Hilfe an und beendet das Programm.

    -i, --ignore-case
        ignoriert Groß-/Kleinschreibung. In den DOS- und Windows-Versionen
        ist dies der Standard. In den Unix- und Cygwin-Versionen wird per
        Vorgabe die Groß-/Kleinschreibung berücksichtigt.

    +i, --no-ignore-case
        berücksichtigt Groß-/Kleinschreibung. Siehe auch Option -i.

    -I, --ignore-diacritics
        ignoriert diakritische Zeichen des lateinischen Alphabets.
        Buchstaben mit diakritischen Zeichen werden wie die deren
        Basisbuchstaben behandelt. Die folgenden Latin-Zeichenkodierungen
        werden unterstützt: CP437, CP850, CP852, CP1250, CP1252, ISO-8859-1,
        ISO-8859-2, sowie Unicode Latin-1, Latin Extended-A, und Latin
        Extended-B. Siehe auch
        <http://de.wikipedia.org/wiki/Diakritisches_Zeichen>

    +I, --no-ignore-diacritics
        berücksichtigt diakritische Zeichen (Vorgabe). Siehe auch Option -I.

    -j, --just-go
        Geh-einfach-Modus.

        In diesem Modus zeigt wcd keine Liste an, wenn mehr als ein
        Verzeichnis auf das angegebene Verzeichnis passt. Wcd wechselt nur
        einfach zum ersten Treffer. Beim erneuten Aufruf von wcd mit den
        gleichen Argumenten wird zum Verzeichnis im nächsten Treffer
        gewechselt, und so weiter.

        Wcd gibt das Verzeichnis, in das gewechselt wird, in die
        Standardausgabe aus. So kann eine andere Installationsmethode
        verwendet werden. Sie könnten die folgende Funktion für eine
        POSIX-kompatible Shell erstellen:

            wcd ()
            {
                cd "$($HOME/bin/wcd.exe -j $@)"
            }

        Wenn Sie mit einer älteren Shell arbeiten, die nicht über
        Unterstützung für die Befehlsersetzung mit »$()« verfügt, müssen Sie
        die auch die ältere Befehlsersetzung mit Gravis-Zeichen (Backtick,
        »`«) verwenden.

            wcd ()
            {
                cd "`$HOME/bin/wcd.exe -j $@`"
            }

        Auf Windows-Systemen mit einer NT4-Shell können Sie den folgenden
        Alias anlegen:

            alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

        Diese Methode macht ein Go-Skript überflüssig, daher können Sie die
        Option -GN zusammen mit -j verwenden.

    -k, --keep-paths
        erhält Pfade.

        Die Pfade werden in der Baumdatei weiter vorgehalten, wenn wcd nicht
        dorthin wechseln kann. Das Vorgabeverhalten in diesem Fall ist, dass
        wcd versucht, diese Pfade aus der Baumdatei zu entfernen. Mit dieser
        Option wird das Vorgabeverhalten deaktiviert.

    -K, --color
        verwendet Farben im grafischen Modus.

    -l ALIAS
        benennt den aktuellen Pfad mit *ALIAS*. Wcd speichert den aktuellen
        Pfad mit dem *ALIAS* in der Alias-Datei. Bei Aliasen wird
        Groß-/Kleinschreibung berücksichtigt.

    -m VERZEICHNIS
        erstellt ein Verzeichnis und fügt es zur Baumdatei hinzu.

    -L, --license
        zeigt die Lizenz des Programms an.

    -M VERZEICHNIS
        erstellt ein Verzeichnis und fügt es zur zusätzlichen Baumdatei
        hinzu.

    -n PFAD
        liest die relative Baumdatei aus *PFAD*.

        Die Datei für die vorgegebene Baumansicht wird nicht gelesen. Die
        Datei für die relative Baumansicht sollte schon von wcd mit der
        Option +S angelegt worden sein. *PFAD* kann auch direkt auf eine
        Datei verweisen.

        Ein Beispiel. Nehmen wir an, ein anderes System wurde in
        "/mnt/network" eingehängt:

            wcd -n /mnt/network src

        Wcd öffnet die Datei der relativen Baumansicht in "/mnt/network/".
        Die Datei enthält die Pfade relativ von diesem Punkt aus betrachtet.

    +n PFAD
        liest die Datei der relativen Baumansicht zusätzlich zur
        vorgegebenen Datei. Siehe Option -n.

    -N, --numbers
        verwendet Zahlen anstelle von Buchstaben.

        Wcd mit einer Conio- oder Curses-basierten Benutzeroberfläche (siehe
        Abschnitt »Schnittstellen«) stellt eine Trefferliste mit Buchstaben
        als Aufzählungszeichen dar. Wenn Sie die Option -N angeben, wird die
        Trefferliste mit Zahlen nummeriert. Ungeachtet der Option -N können
        Sie einen Buchstaben oder Zahlen eingeben, um aus der Trefferliste
        zu wählen.

    -o  verwendet die stdin/stdout-Schnittstelle
        (Standardeingabe/Standardausgabe).

        Falls aus verschiedenen Gründen die conio- oder curses-Schnittstelle
        von wcd nicht funktioniert, können Sie mit der Option -o auf die
        stdin/stdout-Schnittstelle ausweichen.

    -od, --to-stdout
        gibt alle Übereinstimmungen in die Standardausgabe aus.

    -q, --quiet
        Stiller Modus. Die Ausgabe des endgültigen Treffers wird
        unterdrückt.

    -r VERZEICHNIS
        entfernt ein Verzeichnis und entfernt es auch aus der Baumdatei.

        Wenn das Verzeichnis leer ist, wird wcd es entfernen, und versuchen,
        es aus der Baumdatei zu entfernen.

    -rmtree VERZEICHNIS
        entfernt ein Verzeichnis rekursiv und entfernt es auch aus der
        Baumdatei.

        Wcd entfernt das Verzeichnis und dessen Untervezeichnisse und
        Dateien, außerdem werden die Verzeichnisse aus der Baumdatei
        entfernt.

    -s  liest den Laufwerksinhalt (evtl. erneut) aus dem Verzeichnis $HOME
        ein. Falls *HOME* nicht definiert ist, wird das Wurzelverzeichnis
        »/« des Laufwerks eingelesen.

        Die existierende vorgegebene Baumdatei wird dabei überschrieben.

        Das vorgegebene einzulesende Verzeichnis kann mit der
        Umgebungsvariable "WCDSCAN" außer Kraft gesetzt werden. Weitere
        Informationen finden Sie im Abschnitt UMGEBUNGSVARIABLEN.

    -S PFAD
        liest den Verzeichnisbaum aus *PFAD* und überschreibt die
        vorgegebene Baumdatei. Siehe auch die Optionen -A, -s und -E. Zum
        Beispiel können Sie mit der Option -A eine Vorgabe-Baumdatei Ihrer
        Wahl erzeugen. Beispiele:

        Unix:

            wcd -S /
            wcd -S /home -A /etc -A /usr

        DOS/Windows:

            wcd -S c:/
            wcd -S c: -A d: -A \\server\share

        Mit den Windows-Versionen können Sie alle freigegebenen
        Verzeichnisse eines Windows-LAN-Servers einlesen. Geben Sie etwa
        Folgendes ein: "wcd -S \\Servername".

    -S PFAD
        liest das Laufwerk aus *PFAD* ein und platziert relative Pfade in
        der Datei der relativen Baumansicht. Diese Datei wird in wcd von den
        Optionen -n und +n verwendet. Beispiel "wcd -n PFAD src".

    -t  entfernt das temporäre Einhängeverzeichnis "/tmp_mnt" nicht (nur
        Unix).

        Wcd entfernt per Vorgabe "/tmp_mnt/" aus den Treffern. Dieses
        Verzeichnis wird vom Auto-Mounter verwendet. Sie können dieses
        Verhalten mit der Option -t abschalten.

    -T, --ascii-tree
        zeichnet die Baumansicht mit ASCII-Zeichen. Verwenden Sie diese
        Option, wenn die Zeichen zum Darstellen von Linien in Ihrem Terminal
        nicht korrekt angezeigt werden.

    -Ta, --alt-tree-nav
        verwendet einen alternativen Weg zur Navigation in der grafischen
        Baumansicht.

        In der vorgegebenen Baumansicht im NCD-Stil verhindert die Option
        -Ta das Springen in beziehungslose Verzeichnisse.

        In der kompakten Baumansicht funktioniert die Navigation im
        alternativen Modus ähnlich wie in Dateimanagern mit grafischer
        Benutzeroberfläche, wie dem Windows Explorer oder dem KDE Konqueror.
        Durch Drücken der Pfeiltasten nach oben und nach unten verschieben
        Sie das ausgewählte Verzeichnis eine Zeile nach oben oder unten. Die
        linke Pfeiltaste klappt die Unterverzeichnisse ein, wiederholtes
        Drücken der linken Pfeiltaste springt dann tatsächlich nach links.

        Sie können direkt zwischen dem Vorgabe- und dem Alternativmodus
        wechseln, indem Sie <Umschalt-A> drücken.

        Wenn der alternative Navigationsmodus eingeschaltet ist, sehen Sie
        ein »A« in der unteren rechten Ecke.

    -TC, --center-tree
        zentriert die Ansicht im grafischen Baum. Das ausgewählte
        Verzeichnis steht in der Mitte des Bildschirms. Der zentrierte Modus
        kann mit der Taste <t> im grafischen Baum an- und abgeschaltet
        werden.

        Die vorgegebene nicht-zentrierte Ansicht, welche die Baumbewegungen
        minimiert, entspricht derjenigen im originalen NCD.

    -Tc, --compact-tree
        Per Vorgabe wird die »grafische« Baumansicht auf die gleiche Art
        gezeichnet wie im originalen NCD unter DOS. Dort darf ein
        Verzeichnispfad nicht länger als 66 Zeichen sein. Mit den heute
        üblichen tiefen Verzeichnisstrukturen kann der Baum sehr breit
        werden. Um dies zu vermeiden, kann wcd den Baum in einer
        Kompaktansicht darstellen, mit einem Verzeichnis pro Zeile, wie in
        den meisten grafischen Dateimanagern. Verwenden Sie die Option -Tc
        oder schalten Sie direkt mit der Taste <m> um.

    -Td, --cjk-width
        Veraltete ostasiatische CJK-Schriften (Chinesisch, Japanisch und
        Koreanisch) haben bestimmte Zeichen und Symbole zum Zeichnen von
        Linien mit einer Breite von zwei Spalten, während die Zeichenbreite
        in normalem Unicode eine Spalte beträgt. Beispielsweise sind das die
        chinesische CP936-Rasterschrift unter Windows und die
        Simsun-Schrift. Verwenden Sie diese Option zur korrekten Ausrichtung
        der grafischen Baumansicht, wenn eine veraltete CJK-Schrift
        verwendet wird.

        Wenn der CJK-Modus eingeschaltet ist, wird ein »C« in der unteren
        rechten Ecke angezeigt.

    -u BENUTZER
        liest die Daten eines anderen Benutzers für die Baumansicht
        basierend auf *BENUTZER* ein. Ihre eigene Datei für die Baumansicht
        wird nicht eingelesen. Siehe auch *WCDUSERSHOME* im Abschnitt
        UMGEBUNGSVARIABLEN.

        Unter Unix/Cygwin wird "/home" als Wurzel für die
        Benutzerverzeichnisse angenommen. Wcd schaut nach
        "/home/BENUTZER/.treedata.wcd" und
        "/home/BENUTZER/.wcd/.treedata.wcd", in dieser Reihenfolge. Davon
        wird die erste existierende und lesbare Datei gelesen. Unter
        DOS/Windows wird "\\users" als Wurzelverzeichnis der Benutzer
        angenommen, daher versucht wcd "\\users\BENUTZER\treedata.wcd" und
        "\\users\BENUTZER\.wcd\treedata.wcd" zu lesen.

    +u BENUTZER
        liest die vorgegebene Baumansicht-Datei von BENUTZER zusätzlich zu
        Ihrer eigenen Baumansicht-Datei ein.

    -v, --verbose
        zeigt ausführliche Meldungen an. Mit dieser Option zeigt wcd alle
        Filter, Verbannungen und Ausschlüsse an.

    -V, --version
        zeigt Versionsinformationen an und beendet das Programm.

    -w, --wild-match-only
        zeigt nur Übereinstimmungen von Platzhaltern an. Alle Treffer werden
        als Platzhalter-Treffer angenommen.

    -x PFAD
        schließt *PFAD* vom Einlesen aus.

        Mit dieser Option schließt wcd *PFAD* und dessen Unterverzeichnisse
        aller Ebenen beim Einlesen eines Laufwerks aus. Platzhalter werden
        unterstützt und auf absolute Pfade angewendet. Die Option -x kann
        mehrfach angegeben werden.

            wcd -x <Pfad1> -x <Pfad2> -s

        Die Option -x muss vor jeder anderen Einleseoption angegeben werden
        (-s, -S, +S, -A, -E).

        Unter DOS/Windows müssen Sie den Laufwerksbuchstaben angeben, je
        nachdem, ob eine der Variablen *HOME* oder *WCDHOME* gesetzt ist.
        Falls *HOME* oder *WCDHOME* gesetzt ist, müssen Sie den
        Laufwerksbuchstaben angeben. Ein Beispiel:

            wcd -x c:/temp -S c:

        Anderenfalls geben Sie keinen Laufwerksbuchstaben an.

            wcd -x /temp -s

    -xf DATEI
        schließt alle in *DATEI* aufgelisteten Pfade vom Einlesen aus.

        Wenn diese Option ausgewählt ist, schließt wcd alle in *DATEI*
        aufgelisteten Pfade und sämtliche derer Unterverzeichnisse beim
        Einlesen eines Laufwerks aus. Platzhalter werden unterstützt und
        Namensübereinstimmungen werden auf den absoluten Pfad bezogen.
        Beachten Sie, dass wcd führende und angehängte Leerzeichen in einer
        Zeile nicht ignoriert, da sie als Zeichen in einem Verzeichnisnamen
        zulässig sind. Die Option -xf kann mehrfach angegeben werden. Mit
        folgendem Befehl schließen Sie alle verbannten Pfade vom Einlesen
        aus (Beispiel für wcd unter Unix):

            wcd -xf ~/.ban.wcd -s

        Platzhalter werden unterstützt. Um beispielsweise alle Ihre
        Subversion-Verzeichnisse mit administrativen Dateien auszuschließen,
        fügen Sie eine Zeile mit "*/.svn" hinzu.

        Die Option -xf muss vor jeder anderen Einleseoption angegeben werden
        (-s, -S, +S, -A, -E).

    -y, --assume-yes
        beantwortet alle Abfragen automatisch mit »ja«.

        Wcd gibt keine Ja-/Nein-Abfragen an den Benutzer aus, nimmt aber an,
        dass der Benutzer stets auf alle Fragen mit Ja antworten würde. Dies
        kann in Verbindung mit der Option -rmtree verwendet werden. Diese
        Option muss vor allen Optionen angegeben werden, die zu
        Ja-/Nein-Abfragen führen könnten.

    -z ZAHL
        setzt die maximale Stapelgröße auf ZAHL.

        Die vorgegebene Größe des Stapels ist 10. Stapeloperationen können
        deaktiviert werden, indem die Größe auf 0 gesetzt wird. Diese Option
        muss stets vor anderen Stapeloperationen angegeben werden (-,+,=).
        Anderenfalls wird die Stapelgröße wieder auf den Vorgabewert 10
        zurückgesetzt.

        Ein korrekter Befehl ist:

            wcd -z 50 -

        Die neue Stapelgröße ist 50 und wcd geht ein Verzeichnis zurück. Ein
        falscher Befehl wäre:

            wcd - -z 50

        Wcd geht ein Verzeichnis zurück und der Stapel erhält die
        Vorgabegröße 10. Das Argument -z 50 wird ignoriert.

        Fügen Sie dies als erste Option zu Ihrem wcd-Alias oder Ihrer
        wcd-Funktion hinzu. Für eine POSIX-kompatible Shell wäre das:

            wcd ()
            {
                wcd.exe -z 50 "$@"
                . ${WCDHOME:-${HOME}}/bin/wcd.go
            }

    -[ZAHL]
        legt ein Verzeichnis auf den Stapel (ZAHL mal). Vorgabe ist 1.

        Geht ein Verzeichnis zurück. Der Befehl "wcd -" geht ein Verzeichnis
        zurück. Um mehrere Verzeichnisse zurückzugehen, fügen Sie eine Zahl
        hinzu, zum Beispiel in Form des Befehls "wcd -3". Der Stapel ist
        zyklisch.

    +[ZAHL]
        nimmt ein Verzeichnis vom Stapel (ZAHL mal). Vorgabe ist 1.

        Geht ein Verzeichnis vor. Der Befehl "wcd +" geht ein Verzeichnis
        vor. Um mehrere Verzeichnisse vorzugehen, fügen Sie eine Zahl hinzu,
        zum Beispiel in Form des Befehls "wcd +2". Der Stapel ist zyklisch.

    =   zeigt den Stapel an.

        Verwenden Sie diese Option, wenn Sie nicht mehr wissen, wie oft Sie
        im Stapel die Ebene gewechselt haben. Der Stapel wird ausgegeben und
        Sie können eine Zahl wählen. Die aktuelle Position im Stapel ist mit
        einem Asterisk "*" markiert.

INSTALLATION
    Das aktuelle Arbeitsverzeichnis einer Unix-Shell kann nur über den
    eingebauten cd(1)-Befehl gewechselt werden. Daher wird das Programm
    stets über eine Funktion oder einen Alias ausgeführt. Die Funktion oder
    der Alias verwenden ein Shell-Skript (das Go-Skript), welches von wcd
    erzeugt wird. Wcd funktioniert erst dann, wenn die Funktion oder der
    Alias definiert wurde.

    Weiteren wichtigen Einfluss auf Ihre Installation nimmt die Definition
    der Umgebungsvariablen *HOME* und *WCDHOME*. Siehe den Abschnitt
    UMGEBUNGSVARIABLEN.

  Installation für POSIX-Shells
    Für eine POSIX-Shell (ksh, bash, zsh, etc.) unter Unix, Linux, Cygwin
    oder nativem MSYS fügen Sie die folgende Funktion zur Shell-Startdatei
    hinzu (die Bash verwendet zum Beispiel "$HOME/.bashrc"):

        wcd ()
        {
            <PFAD>/wcd.exe "$@"
            . ${WCDHOME:-${HOME}}/bin/wcd.go
        }

    *PFAD* wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm
    gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu
    oder starten Sie eine neue Shell.

    Der Ort des Go-Skripts "wcd.go" ist abhängig von der Shell selbst.

    Wcd für die auf DJGPP basierende DOS-Bash erfordert eine andere
    Funktionalität. Das Go-Skript wird nicht in einem Verzeichnis "bin"
    gespeichert, und falls weder *WCDHOME* noch *HOME* definiert sind, wird
    das Go-Skript nach c:/ geschrieben.

        wcd ()
        {
            <PATH>/wcd.exe "$@"
            . ${WCDHOME:-${HOME:-"c:"}}/wcd.go
        }

    Die WinZsh-Version von wcd ist auch etwas anders. Es gibt kein
    "bin"-Verzeichnis.

        wcd ()
        {
            <PATH>/wcd.exe "$@"
            . ${WCDHOME:-${HOME}}/wcd.go
        }

    Weitere Informationen finden Sie im Abschnitt DATEIEN.

  Installation für C-ähnliche Shells (csh, tcsh)
    Fügen Sie den folgenden Alias zur Shell-Startdatei "$HOME/.cshrc" oder
    "$HOME/.tcshrc" hinzu:

        if ( ${?WCDHOME} ) then
            alias wcd "<PATH>/wcd.exe \!* ; source $WCDHOME/bin/wcd.go"
        else
            alias wcd "<PATH>/wcd.exe \!* ; source $HOME/bin/wcd.go"
        endif

    *PFAD* wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm
    gespeichert ist. Laden Sie die Initialisierungsdateien der Shell neu
    oder starten Sie eine neue Shell.

  Version für den Windows-Befehlszeileninterpreter
    Entpacken Sie die Zip-Datei und fügen Sie den Ordner "bin" zu Ihrer
    Umgebungsvariable *PATH* hinzu.

    Im Windows-Befehlszeileninterpreter kann ein Windows-Programm das
    aktuelle Arbeitsverzeichnis nicht wechseln, das ist aber mit einer
    .bat-Datei möglich. Das Batch-Skript "wcd.bat" ruft das wcd-Programm
    auf, welches seinerseits das neue Batch-Skript "wcdgo.bat" erzeugt. Dann
    führt "wcd.go" wiederum "wcdgo.bat" aus, welches tatsächlich das
    Verzeichnis wechselt.

  Windows VISTA und neuer
    Im Befehlszeileninterpreter in Windows VISTA oder neueren Versionen ist
    der Zugriff auf Verzeichnisse eingeschränkt. Um Zugriff auf weitere
    Verzeichnisse zu erhalten, benötigen Sie Administratorrechte. Einen
    Befehlszeileninterpreter mit Administratorrechten erhalten Sie, wenn Sie
    mit der rechten Maustaste auf das Programmsymbol des
    Befehlszeileninterpreters klicken und *Als Administrator ausführen*
    wählen.

  Version für die Windows PowerShell
    Fügen Sie die folgende Funktion zu Ihrem PowerShell-Benutzerprofil
    hinzu. Der Ort dieses Profils wird durch die Variable $profile bestimmt.
    Es ist erforderlich, dass eine der Umgebungsvariablen *HOME* oder
    *WCDHOME* definiert ist.

        function wcd
        {
            <PFAD>\wcdwin32psh.exe $args
            & $env:HOME\wcdgo.ps1
        }

    *PFAD* wird durch den Ort ersetzt, in dem das ausführbare wcd-Programm
    gespeichert ist. Starten Sie eine neue PowerShell. Wcd für die
    PowerShell unterstützt nur den Dateisystemtreiber und keine weiteren
    Treiber.

  Version für den Befehlszeileninterpreter von OS/2
    Im Befehlszeileninterpreter von OS/2 (cmd.exe) kann ein OS/2-Programm
    das aktuelle Arbeitsverzeichnis nicht wechseln. Daher erzeugt wcd ein
    Befehlsskript "wcdgo.cmd", das in der aktuellen Shell ausgeführt werden
    muss. Das Skript "wcd.cmd" führt zuerst "wcdos2.exe" aus, welches
    seinerseits das Skript "wcdgo.cmd" erzeugt. Danach führt "wcd.cmd" das
    Skript "wcdgo.cmd" aus.

LOKALISIERUNG
    LANG
        Die primäre Sprache wird durch die Umgebungsvariable *LANG*
        festgelegt. Diese Variable besteht aus mehreren Teilen: Den ersten
        Teil bilden zwei Kleinbuchstaben, die den Sprachcode angeben. Der
        zweite Teil ist optional und bezeichnet den Ländercode in
        Großbuchstaben, vom davor stehenden Sprachcode durch einen
        Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und
        gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt
        getrennt. Einige Beispiele für Standard-POSIX-Shells:

            export LANG=de               Deutsch
            export LANG=de_DE            Deutsch, Deutschland
            export LANG=de_CH            Deutsch, Schweiz
            export LANG=es_ES            Spanisch, Spanien
            export LANG=es_MX            Spanisch, Mexiko
            export LANG=en_US.iso88591   English, USA, Latin-1-Zeichenkodierung

        Eine vollständige Liste der Sprachen und Ländercodes finden Sie im
        Handbuch zu gettext(1):
        <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
        des>. Auf Unix-Systemen können Sie den Befehl locale(1) verwenden,
        um spezifische Informationen zur Spracheinstellung zu erhalten.

    LANGUAGE
        Mit der Umgebungsvariable *LANGUAGE* können Sie eine
        Prioritätenliste für Sprachen übergeben, die Sie durch Doppelpunkte
        voneinander trennen. Dos2unix gibt *LANGUAGE* vor *LANG* den Vorzug,
        zum Beispiel bei Deutsch vor Niederländisch: "LANGUAGE=de:nl". Sie
        müssen zunächst die Lokalisierung aktivieren, indem Sie die Variable
        *LANG* oder *LC_ALL* auf einen anderen Wert als *C* setzen, bevor
        Sie die Liste der Sprachprioritäten nutzen können. Weitere
        Informationen finden Sie im Gettext-Handbuch:
        <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
        E-variable>

        Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten
        Sie die Standardmeldungen in englischer Sprache.

    WCDLOCALEDIR
        Mit der Umgebungsvariable *WCDLOCALEDIR* kann die während der
        Kompilierung und Installation verwendete Variable *LOCALEDIR* außer
        Kraft gesetzt werden. *LOCALEDIR* wird von wcd mit vorhandener
        nativer Sprachunterstützung verwendet, um die Sprachdateien zu
        finden. Der GNU-Vorgabewert ist "/usr/local/share/locale". Nach
        Eingabe von "wcd -V" wird das von wcd verwendete *LOCALEDIR*
        angezeigt.

        Falls Sie wcd in einem anderen als dem Vorgabeverzeichnis
        installiert haben, müssen Sie die Umgebungsvariable *WCDLOCALEDIR*
        setzen, die auf das Verzeichnis mit den Sprachdateien zeigt.

        Ein Beispiel für den Windows-Befehlszeileninterpreter:

            set WCDLOCALEDIR=c:/my_prefix/share/locale

        Ein Beispiel für eine POSIX-Shell:

            export WCDLOCALEDIR=$HOME/share/locale

    LC_COLLATE
        Wenn mehrere Treffer für Verzeichnisse gefunden werden, zeigt wcd
        eine sortierte Liste an. Die Art der Sortierung hängt von der
        Spracheinstellung ab. Falls die Umgebungsvariable *LANG* gesetzt
        ist, werden die Treffer wie in Wörterbüchern oder Telefonbüchern in
        dieser Sprache sortiert. Beispielsweise werden Punkte und
        Bindestriche ignoriert. Buchstaben mit oder ohne Akzentzeichen
        werden nicht unterschiedlich behandelt, und Groß-/Kleinschreibung
        wird nicht berücksichtigt.

        Die Sortierung bevorzugt die Umgebungsvariable *LC_COLLATE* vor
        *LANG*. Falls Sie *LC_COLLATE* auf "C" oder "POSIX" setzen, wird die
        sprachbezogene Sortierung abgeschaltet. Wenn Sie beispielsweise
        Deutsch bevorzugen, dies aber nicht für die Sortierung gelten soll,
        verwenden Sie Folgendes:

            export LANG=de_DE
            export LC_COLLATE=C

    LC_CTYPE
        Hinsichtlich Zeichenkodierung bevorzugt Wcd die Variable *LC_CTYPE*
        vor *LANG*. Um beispielsweise die Zeichenkodierung auf UTF-8 zu
        setzen, können Sie Folgendes ausführen:

            export LC_CTYPE=en_US.UTF-8

    LC_ALL
        Alle lokalen Umgebungsvariablen, die mit *LC_* beginnen, werden
        durch die Umgebungsvariable *LC_ALL* außer Kraft gesetzt, sofern
        diese definiert ist. Wcd bevorzugt *LC_ALL* vor *LC_COLLATE* und
        *LC_CTYPE*.

  WINDOWS CODE PAGES
    Es gibt zwei Gruppen von Codepages, die DOS Codepages (OEM) und die
    Windows Codepages (ANSI). Die vorgegebene Zeichenkodierung für Windows
    ist ANSI CP1252, wenn westeuropäische Regionaleinstellungen konfiguriert
    sind. Windows-Programme, wie beispielsweise Notepad, benutzen diese
    durch das System vorgegebene ANSI-Codepage. Die Windows-Konsole
    verwendet standardmäßig eine OEM-Codepage (CP437 oder CP850), um
    Abwärtskompatibilität zu DOS-Programmen zu gewährleisten. Wenn Sie eine
    DOS-Version von wcd in der Windows-Konsole verwenden, wird dies aufgrund
    der DOS-Codepage funktionieren, allerdings fehlt der DOS-Version von wcd
    unter Windows die Unterstützung für lange Verzeichnisnamen und
    Netzlaufwerke.

    Die Windows-Version von wcd ist ein natives Windows-Programm, das die
    ANSI-Codepage des Windows-Systems verwendet. Auf einem Windows mit
    westeuropäischen Regionaleinstellungen wird so die Codepage CP1252 für
    Verzeichnisnamen und Meldungen verwendet. Um konsistente, von der
    aktiven Codepage unabhängige Ausgaben zu erzielen, übersetzen alle
    Windows-Versionen von wcd die ANSI-Ausgaben im Befehlszeileninterpreter
    und der PowerShell in Unicode-Ausgaben.

    Die Rasterschrift der Konsole unterstützt nur die originale
    OEM-Codepage, die mit Windows installiert wurde, daher müssen Sie die
    Schriftart der Konsole auf die TrueType-Schrift »Lucida Console« ändern,
    damit Unicode- und ANSI-Zeichen korrekt angezeigt werden.

    Die Nicht-Unicode-Versionen von Wcd *vor Version 5.2.0* verwenden die
    gewöhnliche ANSI-Ausgabe. Für diese älteren Versionen muss die Codepage
    der Konsole der System-Codepage angeglichen werden (auf 1252), damit wcd
    unter Windows spezielle Zeichen wie Akzentzeichen oder das Euro-Symbol
    korrekt anzeigen kann.

    Die Windows-System-Codepage kann in den Regionaleinstellungen der
    Systemsteuerung geändert werden. Die Codepage der Windows-Konsole wird
    mit dem Befehl "chcp" geändert.

    Wenn Sie "wcd -V" eingeben, wird die gegenwärtige von wcd verwendete
    Zeichenkodierung angezeigt. Geben Sie den Befehl "chcp" ein, um die
    aktive Codepage für die Windows-Konsole anzuzeigen.

  UNICODE
    Wcd verfügt über optionale Unterstützung für Unicode. Um zu sehen, ob
    wcd mit Unicode-Unterstützung erstellt wurde, geben Sie "wcd -V" ein.
    Sofern Ihr Terminal oder Ihre Konsole sowie die Schriftart es
    unterstützt, sollten Sie das Euro-Symbol und chinesische Zeichen sehen
    (echte chinesische Zeichen, keinen chinesisch aussehenden Zeichensalat).

    Wcd wurde »weich« auf Unicode migriert. In dessen Kern werden alle Daten
    als Byte-Datenstrom verarbeitet. Nur die auf dem Bildschirm ausgegebenen
    Zeilen werden unmittelbar in Unicode-Zeichen umgewandelt. Wcd verwendet
    vollständig libc-Funktionen und enthält keinen UTF-8-spezifischen Code.
    Siehe auch <http://www.cl.cam.ac.uk/~mgk25/unicode.html>.

    Wcd verfügt über optionale Unterstützung für Unicode-Suche mit
    Normalisierung. Um zu ermitteln, ob wcd mit Unterstützung für
    Normalisierung erstellt wurde, geben Sie "wcd -V" ein. Wcd mit
    Unicode-Normalisierung findet Treffer mittels *kompatiblen*
    Entsprechungen. Ohne diese Unterstützung werden Verzeichnisse nur
    gefunden, wenn Sie kanonisch äquivalent sind. Siehe auch
    <http://de.wikipedia.org/wiki/Normalisierung_%28Unicode%29>.

   UTF-8 unter Unix/Linux
    Um UTF-8-Zeichen in Ihrer Konsole oder Ihrem Terminal anzeigen zu
    lassen, muss dieses auch UTF-8 unterstützen. Die mit XFree86 4.0 oder
    neuer gelieferte Version von xterm bringt UTF-8-Unterstützung bereits
    mit. Um dies zu aktivieren, starten Sie xterm(1) mit einer
    UTF-8-Spracheinstellung und verwenden Sie eine Schriftart mit der
    Zeichenkodierung iso10646-1, zum Beispiel mit

        LC_CTYPE=en_GB.UTF-8 xterm -u8 -fn '-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1'

    Moderne GNU-Linux-Distributionen unterstützen UTF-8 per Vorgabe. Andere
    Multibyte-Zeichenkodierungen sollten auch funktionieren, allerdings
    wurde dies nicht getestet.

    Wcd nimmt an, dass die Baumdateien in der lokalen Zeichenkodierung
    vorliegen. In die Baumdateien werden keine Bytereihenfolge-Markierungen
    geschrieben.

   UTF-16 unter Windows
    Unter Windows wird Unicode in allen Versionen der PowerShell sowie im
    Befehlszeileninterpreter von Windows 7 (oder neuer) unterstützt. Unicode
    funktioniert auch in Take Command oder TCC/LE von JP Software, welches
    in älteren Windows-Versionen verwendet werden kann (XP/Vista).

    Unter Windows sind alle Verzeichnisnamen in Unicode UTF-16 kodiert. Für
    Nicht-Unicode-Windows-Programme werden die Unicode-Zeichen in die
    vorgegebene ANSI-Codepage übersetzt. Bei Zeichen, die nicht Teil der
    Regionaleinstellung sind, ist diese Übersetzung nicht möglich. Daher
    geben Nicht-Unicode-Programme stattdessen ein Fragezeichen oder ein
    falsches Zeichen aus.

    Wcd mit Unicode-Unterstützung liest die in UTF-16 kodierten
    Verzeichnisnamen und wandelt diese intern in UTF-8 um. Alle Baumdateien
    sind in UTF-8 kodiert und nicht zu den Nicht-Unicode-Versionen von wcd
    kompatibel. Wcd erstellt ein in UTF-8 kodiertes Go-Skript.

    Alle Versionen der Windows Powershell können in UTF-8 kodierte Skripte
    ausführen, sofern sich im Skript eine BOM (Bytereihenfolge-Markierung)
    für UTF-8 befindet.

    Seit Windows 7 ist es möglich, im Windows-Befehlszeileninterpreter mit
    einem Batch-Skript in ein Verzeichnis zu wechseln, dessen Name
    Unicode-Zeichen enthält. Der Verzeichnisname muss in UTF-8 kodiert sein,
    und das Batch-Skript *darf keine BOM enthalten* (Markierung der
    Bytereihenfolge). Die aktive Codepage des Befehlszeileninterpreters muss
    vor dem cd-Befehl auf 65001 (UTF-8) gesetzt werden. Wcd für den
    Befehlszeileninterpreter erstellt ein solches Go-Skript "wcdgo.bat". Es
    ändert zuerst die Codepage in 65001, wechselt dann das Verzeichnis und
    setzt zum Schluss die Codepage auf die ursprüngliche Einstellung zurück.

    Sie müssen die Schrift auf die TrueType-Schriftart »Lucida Console«
    setzen (nicht auf die Rasterschrift), falls Zeichen nicht korrekt
    angezeigt werden.

    Die Nicht-Unicode-Version von wcd für Windows liest Unicode-Baumdateien
    seit Version 5.2.0, sofern sich eine BOM (Markierung der
    Bytereihenfolge) in der Datei befindet (siehe
    <http://de.wikipedia.org/wiki/Byte_Order_Mark>). Allerdings ist es nicht
    möglich, in Verzeichnisse zu wechseln, deren Namen Unicode-Zeichen
    enthalten, die nicht Teil der vorgegebenen ANSI-Codepage des Systems
    sind. Die Unicode-Version von wcd für Windows schreibt seit Version
    5.2.0 eine BOM in die in UTF-8 kodierten Baumdateien, wodurch diese auch
    in Notepad lesbar sind.

   UTF-8 unter Cygwin
    Cygwin unterstützt Unicode seit Version 1.7. Die Cygwin-Zwischenschicht
    achtet darauf, dass die UTF-16-Namen unter Windows in UTF-8 umgewandelt
    werden. Daher brauchen Programme, wie beispielsweise wcd, darauf keine
    Rücksicht zu nehmen und können mit einer UTF-8-Zeichenkodierung wie
    unter Unix/Linux arbeiten. Setzen Sie die Zeichenkodierung mit der
    Umgebungsvariable *LANG* oder *LC_CTYPE* auf UTF-8. Es wird nötig sein,
    dass Sie Ihre Laufwerke neu einlesen. Sie müssen die Schrift auf die
    TrueType-Schriftart »Lucida Console« setzen (nicht auf die
    Rasterschrift), falls Sie die Cygwin-Standardkonsole verwenden.

    Die Cygwin-Version verhält sich exakt genauso wie die Unix-Version von
    wcd. Es wird keine Markierung der Bytereihenfolge (BOM) in die
    Baumdateien geschrieben, und es wird angenommen, dass die Dateien in der
    Zeichenkodierung vorliegen, die von der Spracheinstellung in Cygwin
    vorgegeben ist.

DATEIEN
    Falls die Umgebungsvariable *WCDHOME* gesetzt ist, verwendet wcd
    *WCDHOME* anstelle von *HOME*. Alle "*.wcd"-Dateien sind Textdateien,
    die mit einem Texteditor bearbeitet werden können. Die Wcd-Version für
    den Windows-Befehlszeileninterpreter verhält sich wie die DOS-Version,
    und die Cygwin-Version verhält sich wie die Unix-Version.

    wcd.exe
        Das Programm. In Unix-Shells wird das Programm stets durch eine
        Funktion oder einen Alias aufgerufen, da das aktuelle
        Arbeitsverzeichnis einer Unix-Shell nur mit dem eingebauten
        cd-Befehl gewechselt werden kann. Siehe auch Abschnitt INSTALLATION.

    vorgegebene Baumdatei
        Dies ist die vorgegebene Baumdatei, in der wcd nach Treffern sucht.
        Falls diese nicht lesbar ist, erstellt wcd eine neue Datei.

            DOS: \treedata.wcd or %HOME%\treedata.wcd
            Unix: $HOME/.treedata.wcd

    zusätzliche Baumdatei
        Eine optionale zusätzliche Baumdatei. Falls diese existiert und
        lesbar ist, sucht wcd auch in dieser Datei nach Treffern.

            DOS: \extra.wcd or %HOME%\extra.wcd
            Unix: $HOME/.extra.wcd

    Bann-Datei
        In dieser optionalen Datei speichert wcd die verbannten Pfade. Siehe
        Option -b. Platzhalter werden unterstützt.

            DOS: \ban.wcd or %HOME%\ban.wcd
            Unix: $HOME/.ban.wcd

    Alias-Datei
        Optionale Datei mit Aliasen für wcd. Siehe Option -l.

            DOS: \alias.wcd or %HOME%\alias.wcd
            Unix: $HOME/.alias.wcd

    Stapeldatei
        In dieser Datei speichert wcd den Stapel. Der Laufwerksbuchstabe
        kann mit der Option -d geändert werden.

            DOS: c:\stack.wcd or %HOME%\stack.wcd
            Unix: $HOME/.stack.wcd

        Der Name der Stapeldatei kann mit der Umgebungsvariable
        *WCDSTACKFILE* geändert werden. Siehe Abschnitt UMGEBUNGSVARIABLEN.

    Go-Skript
        Dies ist das Shell-Skript, welches wcd.exe jedes Mal erzeugt. Es
        wird über eine Funktion oder einen Alias eingelesen. Der
        Laufwerksbuchstabe kann mit der Option -d geändert werden. Aus
        historischen Gründen ist es per Vorgabe auf Unix-Systemen in
        "$HOME/bin" gespeichert. Das Verzeichnis für diese Datei kann mit
        der Option -G geändert werden.

            DOS Bash: c:/wcd.go oder $HOME/wcd.go
            Windows Befehlszeileninterpreter: c:\wcdgo.bat oder %HOME%\wcdgo.bat
            Windows PowerShell: $env:HOME\wcdgo.ps1
            WinZsh: $HOME/wcd.go
            Cygwin/MSYS: $HOME/bin/wcd.go
            OS/2-Befehlszeileninterpreter: c:\wcdgo.cmd oder %HOME%\wcdgo.cmd
            Unix: $HOME/bin/wcd.go

    Datei für relative Baumansicht
        Textdatei mit relativen Pfaden von *VERZEICHNIS*. Siehe die Optionen
        +S, -n und +n.

            DOS: <path>\rtdata.wcd
            Unix: <path>/.rtdata.wcd

UMGEBUNGSVARIABLEN
    HOME
        Wcd verwendet per Vorgabe die Umgebungsvariable *HOME*, um zu
        ermitteln, wo Dateien gespeichert werden sollen. Siehe auch den
        Abschnitt DATEIEN. Dies kann mit der Umgebungsvariable *WCDHOME*
        außer Kraft gesetzt werden.

        *HOME* legt außerdem fest, wo mit dem Einlesen des Laufwerks
        begonnen wird, wenn die Option -s verwendet wird. Dies kann mit der
        Umgebungsvariable *WCDSCAN* außer Kraft gesetzt werden.

        In den Versionen für Unix, Cygwin, Windows PowerShell, WinZsh und
        MSYS ist es erforderlich, dass *HOME* oder *WCDHOME* gesetzt ist.
        Für die anderen Versionen von wcd ist die Benutzung dieser Variablen
        optional.

        Falls *HOME* unter DOS/Windows gesetzt ist, platziert wcd alle seine
        Dateien (treedata.wcd, extra.wcd, alias.wcd, ban.wcd, wcd.go) im
        Verzeichnis *HOME*. Das Verhalten von wcd gleicht dann dem der
        Unix-Versionen. Wcd liest die Daten dann per Vorgabe aus *HOME* ein.
        Laufwerke werden nicht automatisch eingelesen, wenn Sie dorthin
        wechseln. Sie müssen wcd explizit dazu anweisen, zum Beispiel:

            wcd -S c: -A d: -A e:

        Die Verzeichnissuche wird nun global in allen eingelesenen
        Laufwerken ausgeführt.

    WCDHOME
        Mit der Umgebungsvariable *WCDHOME* können Sie den Ort der Dateien
        von wcd ändern. Falls sowohl *HOME* als auch *WCDHOME* gesetzt ist,
        wird *WCDHOME* anstelle von *HOME* verwendet.

        In Wcd-Versionen vor 5.1.5 wurde durch *WCDHOME* auch das
        vorgegebene Einleseverzeichnis geändert. Seit Version ist dies nicht
        mehr der Fall, siehe Option -s. Verwenden Sie ab Version 5.1.5 die
        Umgebungsvariable *WCDSCAN*, um die Einstellung des vorgegebenen
        Einleseverzeichnisses außer Kraft zu setzen.

        Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:

            set WCDHOME=C:\Users\erwin\wcd

        Ein Beispiel für POSIX-Shells:

            export WCDHOME="$HOME/.wcd"

        Ein Beispiel für Csh-Shells:

            setenv WCDHOME "$HOME/.wcd"

    WCDSCAN
        Verwenden Sie die Umgebungsvariable *WCDSCAN*, um die Einstellung
        des vorgegebenen Einleseverzeichnisses *HOME* außer Kraft zu setzen.
        Geben Sie eine durch Doppelpunkte getrennte Liste an (für Unix),
        wenn Sie mehr als ein Verzeichnis angeben wollen. Unter DOS/Windows
        verwenden Sie Semikola als Trennzeichen.

        Beispiel für die Befehlszeileninterpreter von DOS, Windows und OS/2:

            set WCDSCAN=C:\Users\erwin;D:\data

            set WCDSCAN=%HOMEDRIVE%%HOMEPATH%;\\projectdrive\projectX

        Ein Beispiel für POSIX-Shells:

            export WCDSCAN="$HOME:/projectdisk/projectX"

        Ein Beispiel für Csh-Shells:

            setenv WCDSCAN "$HOME:/projectdisk/projectX"

    WCDFILTER
        Geben Sie Filter mit der Umgebungsvariable *WCDFILTER* an. Alle
        Verzeichnisse, die nicht auf diese(n) Filter passen, werden
        ignoriert. Sie können eine Liste angeben, in der Sie die einzelnen
        Filter aneinanderreihen und dazwischen das Pfad-Trennzeichen Ihrer
        Shell setzen. Dies funktioniert ähnlich wie die Angabe der Variable
        *PATH*. Ob dabei Groß-/Kleinschreibung berücksichtigt wird, hängt
        vom jeweiligen Betriebssystem ab.

        Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:

            set WCDFILTER=projects;doc

        Ein Beispiel für POSIX-Shells:

            export WCDFILTER="projects:doc"

        Ein Beispiel für Csh-Shells:

            setenv WCDFILTER "projects:doc"

    WCDBAN
        Die in der Umgebungsvariable *WCDBAN* angegebenen Pfade werden
        gebannt, siehe auch die Option -b. Geben Sie eine Liste der Pfade
        an, durch das *PATH*-Trennzeichen der Shell getrennt.

    WCDEXCLUDE
        Die in der Umgebungsvariable *WCDEXCLUDE* angegebenen Pfade werden
        von wcd ausgeschlossen, siehe auch die Optionen -x und -xf. Geben
        Sie eine Liste der Pfade an, durch das *PATH*-Trennzeichen der Shell
        getrennt.

        Beispiel für die Befehlszeileninterpreter in DOS, Windows, OS/2:

            set WCDEXCLUDE=*/windows;*/temp;*CVS

        Ein Beispiel für POSIX-Shells:

            export WCDEXCLUDE="/dev:/tmp:*CVS"

        Ein Beispiel für Csh-Shells:

            setenv WCDEXCLUDE "/dev:/tmp:*CVS"

    WCDUSERSHOME
        Dies legt das übergeordnete Verzeichnis der Home-Verzeichnisse der
        Benutzer fest. Unter DOS/Windows ist der Standardwert "\\users".
        Unter Unix/Cygwin ist "/home" die Vorgabe. Die Variable wird
        verwendet, um die Baumdateien anderer Benutzer einzulesen. Siehe
        auch die Optionen -u und +u. Im ausführlichen Modus gibt wcd alle
        Filter sowie gebannte und auszuschließende Verzeichnisse aus. Siehe
        Option -v.

    WCDSTACKFILE
        Wcd bevorzugt *WCDSTACKFILE* gegenüber dem vorgegebenen Namen der
        Stapeldatei (siehe Abschnitt DATEIEN). Mit dieser Variable kann jede
        Shell oder jede Terminalemulation ihren eigenen Verzeichnisstapel
        haben.

        So verwenden Sie eine eindeutige zeitbasierte Datei
        (JJJJMMTT-HHMMSS) für jede geöffnete interaktive Shell:

            export WCDSTACKFILE=$HOME/.wcd/stack.$(date +%Y%m%d-%H%M%S)

        Für einen Stapel pro xterm(1) verwenden Sie die Umgebungsvariable
        *WINDOWID*:

            export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOWID

        Einen Stapel pro Bildschirm erreichen Sie für GNU screen(1) so:

            export WCDSTACKFILE=$HOME/.wcd/stack.$WINDOW

    TERMINFO
        Wenn die Umgebungsvariable *TERMINFO*, sucht wcd mit
        ncurses-Schnittstelle nach einer lokalen Teminaldefinition, bevor am
        Standardort gesucht wird. Dies ist sinnvoll für
        Terminaldefinitionen, die sich nicht an einem vorgegebenen Ort
        befinden. Oft verwendete Standardorte sind "/usr/lib/terminfo" und
        "/usr/share/terminfo".

    PDC_RESTORE_SCREEN
        Wcd mit PDCurses-Schnittstelle berücksichtigt die Umgebungsvariable
        *PDC_RESTORE_SCREEN*. Falls diese Umgebungsvariable gesetzt ist,
        erzeugt PDCurses eine Kopie des Bildschirminhalts zur Startzeit von
        wcd. Beim Abbruch von wcd wird der Bildschirm wiederhergestellt. Ein
        Beispiel für den Windows-Befehlszeileninterpreter:

            set PDC_RESTORE_SCREEN=1

        Windows kann nur einen kleinen Puffer speichern. Es ist daher nicht
        immer möglich, alles wiederherzustellen. Andererseits kann in der
        Konsole nach wcd Datenmüll ausgegeben werden, falls Sie den Puffer
        größer gewählt haben.

    SHELL
        Die Angabe von "#!$SHELL" in der ersten Zeile des Go-Skripts (für
        POSIX- oder C-Shells) ist für 8-Bit-Zeichen nötig. Einige Shells
        könnten sonst annehmen, dass es sich bei dem Go-Skript um eine
        Binärdatei handelt und diese nicht einlesen. In der Cygwin-Bash muss
        die Variable *SHELL* mit dem Befehl "export" gesetzt werden, sonst
        kann wcd diese Variable nicht lesen.

    BASH
        Wcd für die DOS-Bash verwendet $BASH anstelle von $SHELL, weil
        $SHELL auf die DOS-Befehlsshell zeigt. $BASH muss mit einem
        "export"-Befehl definiert werden, anderenfalls kann wcd die Variable
        nicht lesen.

SIEHE AUCH
    sh(1), bash(1), csh(1), ksh(1), zsh(1), locale(1), ncurses(1),

AUTOREN
    Wcd wurde von Erwin Waterlander <waterlan@xs4all.nl> geschrieben.

    Projektseite: <http://waterlan.home.xs4all.nl/>

    SourceForge: <http://sourceforge.net/projects/wcd/>

    Die Formatierung der Handbuchseite wurde von Jari Aalto
    <jari.aalto@cante.net> bereitgestellt.

    NCD wurde ursprünglich von Brad Kingsbury für Peter Nortons »Norton
    Utilities« etwa 1987 geschrieben. Siehe auch
    <http://www.softpanorama.org/OFM/norton_change_directory_clones.shtml>

