XCD - Der erweiterter Verzeichniswechselbefehl für den TotalCommander

(getestet mit TotalCommander 6.03a)


Installation:

XCD wird normalerweise als Kommandozeilenbefehl für den TotalCommander verwendet. Um XCD unabhängig vom gerade eingestellten Pfad im TotalCmd starten zu können, ohne jedesmal den kompletten Pfad zu xcd.exe eingeben zu müssen, gibt es mehrere Möglichkeiten:

  1. xcd.exe in ein 'PATH'-Verzeichnis kopieren (z.B. C:\Windows oder C:\Windows\Command) und fertig.

  2. (ab TotalCmd 7) xcd.exe in ein beliebiges Verzeichnis (vorzugsweise ein Unterverzeichnis des TotalCmd) kopieren und ein Alias "xcd" erstellen. Dieser Weg empfiehlt sich auch, wenn man den Totalcmd inclusive XCD portabel halten will.

Aufruf:

Über die Kommandozeile des TotalCmds kann jetzt XCD aufgerufen werden, einfach XCD und das "Zielverzeichnis" eingeben. (Zielverzeichnis ist der Name des Verzeichnisses, in das gewechselt werden soll.)
xcd <Zielverzeichnis>

Im erscheinenden Dialog werden alle gleichnamigen (oder ähnlichen) Verzeichnisse mit komplettem Pfad aufgelistet (ähnliche, wenn keine gleichnamigen Verzeichnisse gefunden wurden). Jetzt das Verzeichnis wählen und auf [OK] klicken bzw. Return drücken, und der TotalCmd wechselt in das gewählte Verzeichnis

Hinweis: XCD verwendet zum Auffinden der Zielverzeichnisse die Datei 'Treeinfo.wc', die der TotalCommander im Wurzelverzeichnis auf jedem lokalen Laufwerks anlegt. Wenn diese Datei fehlt oder nicht mehr aktuell ist, funktioniert XCD nicht richtig.

Die Aktualisierung kann mit dem TotalCommander über den Cd-Verzeichnisbaum oder mit xcd erfolgen.

Verzeichnisstruktur neu einlesen:

Eingabe Auswirkung
xcd /tree oder xcd /treeinfo aktualisiert auf allen lokalen Laufwerken die Treeinfo.wc
xcd /fg aktualisiert nur auf den angegebenen Laufwerken F: und G: die Treeinfo.wc
xcd /tree d:\download oder xcd /tree . aktualisiert nur das angegebene Verzeichnis. Ein Punkt steht für das aktuelle Verzeichnis

Verzeichniswechsel:

<Zielverzeichnis> steht im Folgenden für den Namen des Verzeichnisses, in das gewechselt werden soll.

Der Parameter vor dem Zielverzeichnis gibt die Startposition der Suche im Verzeichnisbaum an. Ohne diesem Parameter richtet sich XCD nach den Voreinstellungen im Konfigurationsdialog (Funktionstaste [F12] oder Kontextmenü im XCD-Fenster). Wenn die Suche auf ein Laufwerk oder Verzeichnis beschränkt ist, wird die Startposition der Suche immer in der Statuszeile von XCD angezeigt.

Eingabe Auswirkung
xcd <Zielverzeichnis> es werden alle Pfade zu möglichen Zielverzeichnissen aufgelistet. Verzeichnis auswählen und TotalCommander wechselt hin
xcd es wird das letzte Resultat angezeigt
xcd \ <Zielverzeichnis> Zielverzeichnis wird auf dem aktuellen Laufwerk gesucht.
("\" steht für Wurzel des aktuellen Laufwerks)
xcd . <Zielverzeichnis> Zielverzeichnis muß ein Unterverzeichnis des aktuellen Verzeichnisses sein.
("." steht für aktueller Pfad)
xcd c:<Zielverzeichnis> Es werden nur Verzeichnisse auf Laufwerk C: angezeigt

In der Eingabezeile unterhalb der Suchergebnis wird immer der zuletzt eingegebene Suchbegriff angezeigt. Über diese Zeile kann ebenfalls eine neue Suche gestartet werden.

Bedienung der Dialogbox

Tastatur Maus Auswirkung
Cursor Auf/Ab Klick auf Verzeichniseintrag Verzeichnis wählen
Cursor Auf/Ab + Strg-Taste Doppelklick auf Verzeichniseintrag (*) Verzeichnis wählen und sofort im Tcmd hinwechseln
Return-Taste Klick auf [OK] (*) ins gewählte Verzeichnis wechseln und xcd schließen
Space-Taste / Strg-Taste Klick auf [Übernehmen] (*) ins Verzeichnis wechseln, ohne xcd zu schließen
ESC-Taste Klick auf [Abbruch] xcd schließen
Plus-Taste Klick auf [<-] Toleranzschwelle verändern. Listet Verzeichnisse auf, die weniger genau mit dem Zielverzeichnis übereinstimmen.
Minus-Taste Klick auf [->]
[ALT]+[Cursor nach Unten] Klick auf dem Pfeil der Eingabezeile SuchHistorie öffnen (DropDownMenü)

(*) Mit gleichzeitig gedrückter Shift-Taste (oder rechter Maustaste) kehrt sich das Verhalten um: ins Zielverzeichnis wechseln / Zielverzeichnis nur selektieren. Das Standardverhalten wird im Konfigurationsdialog festgelegt.

Tastatur-Befehle

Mit den folgenden Tasten können die Suchoptionen bei geöffnetem Fenster temporär umgeschaltet werden. Dabei werden die Suchergebnisse gleich angepaßt. Welche Suchoptionen bei XCD-Start voreingestellt sind, kann im Konfigurationsdialog [F12] eingestellt werden.

Tastatur Auswirkung
Ziffernblock [*] der Suchbegriff wird automatisch mit den *-Wildcards erweitert. (ein/aus)
Ziffernblock [/] Es wird nur das aktuelle Laufwerk für die Suche verwendet (ein/aus)
Ziffernblock [0] Die Fehlertoleranz wird deaktiviert (ein/aus)
A Verzeichnissuche auf allen Laufwerken durchführen
C bis Z Verzeichnissuche auf dem ausgewählten Laufwerk beschränken
Shift-N Verzeichnissuche auf den Netzwerkfreigaben

Verwendete Funktionstasten von XCD. Die Funktionen sind auch über den Kontextmenü erreichbar

Funktionstaste [F1] Diese Hilfeseite wird aufgerufen
Funktionstaste [F2] Treeinfo wird aktualisiert
Funktionstaste [F3] Selektiertes Verzeichnis als neues Startverzeichnis für die nächste Suche setzen. (*)
Funktionstaste [F4] Startverzeichnis für die Suche und Suchbegriff zurücksetzen (*)
Funktionstaste [F5] Verzeichnishistorie wird gezeigt
Funktionstaste [F12] ein Dialog mit den Programm-Voreinstellungen wird geöffnet (der Aufruf ist auch mit Rechtsklick in Dialogbox möglich)

(*) Solange kein neuer Suchbegriff eingegeben wird, werden alle Unterverzeichnisse des Startverzeichnisses angezeigt. Damit kann man [F3] zum Anzeigen der Unterverzeichnisse eines Verzeichnisses verwenden und mit [F4] die Anzeige wieder verlassen

xcd im Netzwerk

XCD kann auch Verzeichnisse im Netzwerk suchen. Dazu muß die Verzeichnisstruktur der im Netzwerk freigegebenen Verzeichnisse eingelesen worden sein. Wenn ein Verzeichnisse nicht gefunden wird, obwohl sie vorhanden ist, liegt das daran, daß die 'Treeinfo.net' nicht (mehr) aktuell ist.

Eingabe Auswirkung
xcd /net oder
xcd \\
Einlesen der Verzeichnisstruktur der Netzwerkfreigaben
xcd \\ <Zielverzeichnis>
xcd /net <Zielverzeichnis>
Wechseln in ein Verzeichnis im Netzwerk
xcd \\<computer> <Zielverzeichnis> Wechseln in ein Verzeichnis auf einen bestimmten Netzwerk-Computer
xcd . <Zielverzeichnis> Wechselt in ein Unterverzeichnis des gerade aktiven Verzeichnisses (wie bei Lokalen Laufwerken)



Der Konfigurationsdialog

Drückt man im Hauptdialog F12, erscheint ein Dialog mit Voreinstellungen.

Optionen

Historie-Einstellungen:

Einstellungen für die Treeinfo.wc:


Erläuterungen zur Fehlertoleranz

Bei aktiver Toleranz: Für die Suche nach den passenden Verzeichnissen bestimmt XCD für jedes Verzeichnis die Abweichung vom Suchbegriff. Das heißt: Wieviele Zeichen müssen mindestens Ausgetauscht/Hinzugefügt/Weggelassen werden um mit dem Suchbegriff übereinzustimmen. Die Verzeichnisse mit der geringsten Abweichung werden dann angezeigt.

Mit den Toleranz-Tasten kann die Toleranzschwelle weiter erhöht werden (bis max. 50%). Verzeichnisse die sich um mehr als die Hälfte unterscheiden, werden nicht mehr berücksichtigt. Zum einen aus logischen Gründen, schließlich will man ja übereinstimmende Verzeichnisse finden, zum anderen aus Geschwindigkeitsgründen.

Bei ausgeschalteter Toleranz wird einfach die Schwelle auf 0 gesetzt. Dadurch werden nur exakte Übereinstimmungen gefunden (bei höherer Suchgeschwindigkeit).


Erläuterung zur Ausnahmeliste (in den Treeinfo-Optionen)

Die hier eingetragenen Verzeichnisse sind Abbruchbedingungen beim Einlesen der Verzeichnisstruktur. Aller Verzeichnisse müssen als "Reguläre Ausdrücke" (RegExp) formuliert werden. (Deshalb die doppelten Backslashs in der Liste)
Nacheinander werden alle Verzeichnisse eines Laufwerkes eingelesen und mit den Listeneinträgen verglichen. Bei Übereinstimmung wird das Verzeichnis übersprungen.

Beim Einlesen der Verzeichnisstruktur liegt jedes Verzeichnis in dieser Form vor: x:\dir1\dir2

Man beachte, kein Backslash am Ende.

Der Eintrag: \\dir2$&xnbsp; trifft auf dieser Zeile zu ($ steht für Zeilenende)
Der Eintrag: \\dir2\\ trifft dagegen nicht auf diese Zeile zu. (Erst auf diese Zeile: x:\dir1\dir2\dir3 )

Das bedeutet:

Weitere Beispiele
d:.*\.bak$ = Auf Laufwerk D: keine Verzeichnisse, die mit ".BAK" enden