Double Commander

2.12. Variablen in Parametern

Inhalt

1. Kurze Einführung
2. Grundlegende Parametervariablen
3. Grundlegende Suffix-Variablen
4. Numerische Suffixe
5. Präfix und Suffix für jede Datei festlegen
6. Verzeichnisse der Dateilisten
7. Ergebnisse mit oder ohne Anführungszeichen
8. Pfadtrenner am Ende des Pfades
9. Dateilisten
10. Suffixe für Dateilisten
11. Kombination von Dateilisten-Suffixen
12. Ausführung im Terminal
13. Interaktion
14. Weitere Variablen
15. Zusammenfassende Tabelle aller Variablen
16. Umgebungsvariablen

1. Kurze Einführung

Variablen unterstützen uns bei der Konfiguration von Symbolleisten-Schaltflächen, Dateizuordnungen oder Tastenkombinationen.

Wir verwenden diese Variablen hauptsächlich dann, wenn wir Befehlen Parameter übergeben müssen, die auf der aktuell ausgewählten Datei, dem aktuellen Verzeichnis oder anderen Kontextinformationen der Dateilisten basieren.

Hier ist ein einfaches Beispiel: Ein Benutzer hat eine Schaltfläche zum Starten von IrfanView konfiguriert und verwendet die Variable %p als Parameter.

Beispiel für Variablen

Wenn der Benutzer auf diese Schaltfläche klickt, wird IrfanView gestartet und die Variable %p wird durch die aktuell markierte Datei im aktiven Panel ersetzt.

Das ist die Bedeutung der auf dieser Seite beschriebenen Variablen.

Wie Sie sehen werden, beginnen die meisten Variablen mit einem Prozentzeichen %.

Hinweis: Variablen und Suffixe sind case-sensitive (Groß-/Kleinschreibung beachten)!

2. Grundlegende Parametervariablen

Dies sind die Basisvariablen, die sich auf die aktuelle Auswahl beziehen.

Standardmäßig werden Variablenwerte, die Leerzeichen und/oder Sonderzeichen enthalten, automatisch maskiert: unter Windows werden sie in doppelte Anführungszeichen gesetzt, unter Unix-ähnlichen Systemen wird ein "\" vor Sonderzeichen gesetzt. Wenn Sie das Ergebnis ohne Anführungszeichen benötigen, lesen Sie den Abschnitt Ergebnisse mit oder ohne Anführungszeichen.

Für jedes Beispiel nehmen wir an, dass wir auf die Datei C:\Benutzer\Benutzername\Desktop\kommentar.png zeigen.

Grundlegende Variablen
VariableBedeutung
%p
Vollständiger Dateiname, Pfad + Name
Beispiel: %p = "C:\Benutzer\Benutzername\Desktop\kommentar.png"
%f
Nur Dateiname, inklusive Erweiterung
Beispiel: %f = "kommentar.png"
%d
Nur Pfad, ohne abschließenden Trenner
Beispiel: %d = "C:\Benutzer\Benutzername\Desktop"
%z
Name des letzten Verzeichnisses im Pfad
Beispiel: %z = "Desktop"
%o
Nur Dateiname, ohne Erweiterung
Beispiel: %o = "kommentar"
%e
Nur Dateierweiterung, ohne Punkt
Beispiel: %e = "png"
%v
Dateiname relativ zum aktuellen Arbeitsverzeichnis
Nützlich z.B. beim Aufruf des internen Befehls cm_FlatView.
Wenn FlatView aus "C:\Benutzer\Benutzername" aktiv ist, liefert %v "Desktop\kommentar.png"

Die Variable %a kann für virtuelle Dateisysteme verwendet werden (geöffnete Archive oder Dateisystem-Plugins): Die Zeichenfolge enthält den Pfad des virtuellen Dateisystems (vollständiger Name des Archivs oder Name des WFX-Plugins mit "wfx://") und den vollständigen Dateinamen relativ zur Wurzel des virtuellen Dateisystems.

Wenn mehrere Dateien markiert sind, geben diese Variablen die Werte aller markierten Dateien in einer Zeile zurück. Um immer den Wert der Datei unter dem Cursor zu erhalten, verwenden wir das numerische Suffix 0.

3. Grundlegende Suffix-Variablen

Hinter dem Buchstaben der Variable können wir einen weiteren Buchstaben hinzufügen, um genauer festzulegen, worauf wir uns beziehen möchten.

Beispielannahmen:
Linkes Panel zeigt auf "C:\LinkerOrdner\Datei.lft"
Rechtes Panel zeigt auf "C:\RechterOrdner\Datei.rgh"
Das aktive Panel ist das rechte.

Grundlegende Suffixe
SuffixBedeutung
s
Quelle (source) oder aktives Panel (egal ob links oder rechts)
Beispiel: %ps = "C:\RechterOrdner\Datei.rgh"
t
Ziel (target) oder inaktives Panel (egal ob links oder rechts)
Beispiel: %pt = "C:\LinkerOrdner\Datei.lft"
l
Linkes Panel
Beispiel: %pl = "C:\LinkerOrdner\Datei.lft"
r
Rechtes Panel
Beispiel: %pr = "C:\RechterOrdner\Datei.rgh"
p
Beide Panels, aktives Panel zuerst, dann Leerzeichen, dann inaktives Panel
Beispiel: %pp = "C:\RechterOrdner\Datei.rgh" "C:\LinkerOrdner\Datei.lft"
b
Beide Panels, linkes Panel zuerst, dann Leerzeichen, dann rechtes Panel
Beispiel: %pb = "C:\LinkerOrdner\Datei.lft" "C:\RechterOrdner\Datei.rgh"

4. Numerische Suffixe

Wenn mehrere Dateien markiert sind, können wir ein numerisches Suffix hinzufügen, um eine bestimmte Datei aus der Auswahl anzusprechen.

Beispielannahmen: Quellpanel zeigt auf "C:\temp\" und wir haben zwanzig Dateien markiert, von "DateiA.txt" bis "DateiZ.txt".

Numerische Suffixe
SuffixBedeutung
0
Datei unter dem Cursor (Fokus)
Beispiel: %ps0 = "C:\temp\DateiY.txt"
1
Erste markierte Datei
Beispiel: %ps1 = "C:\temp\DateiA.txt"
2
Zweite markierte Datei
Beispiel: %ps2 = "C:\temp\DateiB.txt"
3
Dritte markierte Datei
Beispiel: %ps3 = "C:\temp\DateiC.txt"
21
Einundzwanzigste markierte Datei
Beispiel: %ps21 = "C:\temp\DateiU.txt"

5. Präfix und Suffix für jede Datei festlegen

Manchmal müssen wir Argumenten vor dem Dateinamen Text hinzufügen oder den Dateinamen umschließen.

Bitte beachten Sie, dass dies auf jedes markierte Element angewendet wird.

Beispielannahmen: In "C:\Windows\Fonts" sind drei Dateien markiert: "courrier.ttf", "fixedsys.ttf" and "terminal.ttf".

Präfix und Suffix
Präfix/SuffixBedeutung
{}
Ein Paar geschweifte Klammern fügt den Text zwischen den Klammern vor jedem markierten Element ein.
Beispiel: %fs{+} = "+courrier.ttf" "+fixedsys.ttf" "+terminal.ttf"
{}{}
Zwei Paare umschließen jedes markierte Element mit dem jeweiligen Text.
Beispiel: %fs{[}{]} = "[courrier.ttf]" "[fixedsys.ttf]" "[terminal.ttf]"

6. Verzeichnisse der Dateilisten

Neben Variablen für markierte Elemente können wir mit %D das Verzeichnis des jeweiligen Panels abrufen.

Hier können die gleichen Suffix-Buchstaben wie oben verwendet werden.

Beispielannahmen:
Linkes Panel ist in "C:\Referenz"
Rechtes Panel ist in "E:\Arbeit"
Das aktive Panel ist das rechte.

Verzeichnis des Panels
VariableBedeutung
%D
Ohne Suffix: Pfad des aktiven Panels
Beispiel: "E:\Arbeit"
%Ds
Verzeichnis des Quell- oder aktiven Panels
Beispiel: "E:\Arbeit"
%Dt
Verzeichnis des Ziel- oder inaktiven Panels
Beispiel: "C:\Referenz"
%Dl
Verzeichnis des linken Panels
Beispiel: "C:\Referenz"
%Dr
Verzeichnis des rechten Panels
Beispiel: "E:\Arbeit"
%Z
Ohne Suffix: Name des letzten Verzeichnisses im Pfad des aktiven Panels
Beispiel: "Arbeit"
%Zs
Name des letzten Verzeichnisses im aktiven Panel
Beispiel: "Arbeit"
%Zt
Name des letzten Verzeichnisses im inaktiven Panel
Beispiel: "Referenz"
%Zl
Name des letzten Verzeichnisses im linken Panel
Beispiel: "Referenz"
%Zr
Name des letzten Verzeichnisses im rechten Panel
Beispiel: "Arbeit"

Die Variable %A kann für virtuelle Dateisysteme verwendet werden (geöffnete Archive oder Dateisystem-Plugins): vollständiger Name des Archivs oder Name des WFX-Plugins mit "wfx://".

7. Ergebnisse mit oder ohne Anführungszeichen

Aus historischen Gründen gibt DC Ergebnisse standardmäßig mit Anführungszeichen zurück.

Dies ist nützlich für Dateinamen mit Leerzeichen. Es gibt jedoch Situationen, in denen man das Ergebnis ohne Anführungszeichen benötigt (z.B. um eigene Erweiterungen anzuhängen).

Anstatt neue Variablen einzuführen, kann man das Verhalten der bestehenden Variablen mit Präfixen steuern:

%"0 : Ab dieser Position werden Dateinamen ohne Anführungszeichen generiert.
%"1 : Ab dieser Position werden Dateinamen mit Anführungszeichen generiert.
%"  : Setzt das Verhalten auf den Standardwert zurück (Anführungszeichen).

Beispiel für eine Datei "Kunden Liste.mdb":

Beispiele für Anführungszeichen
AusdruckErgebnis
%o.zip
"Kunden Liste".zip
%"0%o.zip
Kunden Liste.zip
%"0"%o.zip"
"Kunden Liste.zip"
%"0"%o.zip" %"1%f
"Kunden Liste.zip" "Kunden Liste.mdb"

8. Pfadtrenner am Ende des Pfades

Standardmäßig gibt DC Pfade ohne abschließenden Pfadtrenner zurück.

Dies kann mit folgenden Steuervariablen geändert werden:

%/0 : Pfade werden ohne abschließenden Trenner zurückgegeben.
%/1 : Pfade werden mit abschließendem Trenner zurückgegeben.
%/  : Setzt auf Standard zurück (ohne Trenner).

Beispiel für das Verzeichnis "C:\Benutzer\Benutzername\Desktop":

Beispiele für Pfadtrenner
AusdruckErgebnis
%D
"C:\Benutzer\Benutzername\Desktop"
%/0%D
"C:\Benutzer\Benutzername\Desktop"
%/1%D
"C:\Benutzer\Benutzername\Desktop\"
%/%D
"C:\Benutzer\Benutzername\Desktop"

Dies ist nützlich beim Kombinieren von Variablen. Unter Windows funktioniert %Dt\%f0 meistens, aber im Wurzelverzeichnis eines Laufwerks würde DC einen Pfad mit zwei Backslashes zurückgeben. Hier ist %/1%Dt%f0 die korrekte Wahl.

9. Dateilisten

Einige Programme akzeptieren eine Textdatei als Parameter, die eine Liste von Dateinamen enthält.

Double Commander kann eine solche temporäre Datei mit den markierten Elementen erstellen und den Dateinamen dieser Liste als Parameter übergeben.

Variablen für Dateilisten
AusdruckBeschreibung
%L
Dateiname einer Liste mit vollständigen Pfaden + Dateinamen
%F
Dateiname einer Liste nur mit Dateinamen
%R
Dateiname einer Liste mit relativen Pfaden

DC verwendet unter Windows die ANSI-Systemkodierung, unter Unix-ähnlichen Systemen die Standardkodierung (meist UTF-8).

Beim Beenden löscht Double Commander alle derartigen temporären Dateien.

10. Suffixe für Dateilisten

Standardmäßig sind die Dateinamen in der Liste nicht in Anführungszeichen. Dies kann mit Suffixen geändert werden. Zudem kann die Kodierung (UTF-8 oder UTF-16) festgelegt werden.

Suffixe für Dateilisten-Variablen
AusdruckBeschreibung
Q
Dateinamen in der Liste werden in Anführungszeichen gesetzt.
U
Die Liste wird im UTF-8 Format kodiert.
W
Die Liste wird im UTF-16 Format kodiert.

11. Kombination von Dateilisten-Suffixen

Sie können auch festlegen, aus welchem Panel die Dateiliste generiert werden soll.

Beispiele:

Kombinierte Suffixe
AusdruckBeschreibung
%LQt
Vollständige Pfade, mit Anführungszeichen, aus dem Zielpanel.
%FUs
Nur Dateinamen, UTF-8, aus dem Quellpanel.
%RQW
Relative Pfade, mit Anführungszeichen, UTF-16, aus dem Quellpanel (Standard).

12. Ausführung im Terminal

Sie können festlegen, ob ein Befehl in einem Terminal ausgeführt werden soll.

Terminal-Ausführung
AusdruckBeschreibung
%t0
Im Terminal ausführen und nach Ende schließen.
%t1
Im Terminal ausführen und danach offen halten.

13. Interaktion

Nützliche Variablen, um dem Benutzer während der Ausführung eine Nachricht anzuzeigen oder einen Parameter abzufragen:

Interaktion
AusdruckBeschreibung
%[nachricht]
Zeigt eine Dialogbox mit der angegebenen Nachricht an.
%[nachricht;vorgabe]
Fordert den Benutzer zur Eingabe eines Wertes auf (mit einem Standardwert).

Beispiele:

Interaktions-Beispiele
AusdruckBeschreibung
%[Sicherstellen, dass Datei.ext geschlossen ist!]
Zeigt den Warnhinweis an, bevor die Aktion fortgesetzt wird.
%[BREITE für Bildkonvertierung eingeben;1024]
Fragt den Benutzer nach der Breite. Der eingegebene Wert ersetzt den Ausdruck im Befehl.

14. Weitere Variablen

Weitere nützliche Variablen:

Sonstige Variablen
AusdruckBeschreibung
%%
Ergibt ein einzelnes Prozentzeichen %.
%#
Ab hier wird das Zeichen # wie ein %-Zeichen für Variablen behandelt.
#%
Hebt den Zustand von %# auf; % wird wieder als Variablenpräfix verwendet.
%?
Zeigt die Befehlszeile vor der Ausführung an.

%? ist besonders hilfreich beim Testen neuer Schaltflächen, um die tatsächlich generierten Parameter zu überprüfen. Sie können die Parameter im Dialog vor dem Starten sogar noch bearbeiten.

%# ist nützlich, wenn DC-Variablen mit Systemvariablen kollidieren. Beispielsweise könnte %os%ot unter Windows als Systemvariable %os% missverstanden werden. Mit %##os#ot umgehen Sie dieses Problem.

15. Zusammenfassende Tabelle aller Variablen

Alle Variablen
AusdruckBeschreibung
%p
Vollständiger Dateiname inkl. Pfad
%f
Nur Dateiname inkl. Erweiterung
%d
Nur Pfad
%z
Name des letzten Verzeichnisses im Pfad
%o
Nur Dateiname ohne Erweiterung
%e
Nur Dateierweiterung ohne Punkt
%v
Dateiname relativ zum aktuellen Arbeitsverzeichnis
s
Suffix für Quelle/aktives Panel (Beispiel: %ps)
t
Suffix für Ziel/inaktives Panel (Beispiel: %pt)
l
Suffix für linkes Panel (Beispiel: %pl)
r
Suffix für rechtes Panel (Beispiel: %pr)
p
Suffix für beide Panels, aktiv zuerst (Beispiel: %pp)
b
Suffix für beide Panels, links zuerst (Beispiel: %pb)
0
Datei unter dem Fokus-Cursor (Beispiel: %ps0)
1
Erste markierte Datei (Beispiel: %ps1)
2
Zweite markierte Datei (Beispiel: %ps2)
3
Dritte markierte Datei (Beispiel: %ps3)
21
Einundzwanzigste markierte Datei (Beispiel: %ps21)
{präfix}
Präfix vor jedem Dateinamen (Beispiel: %f{+})
{präfix}{suffix}
Präfix und Suffix für jeden Dateinamen (Beispiel: %f{[}{]})
%D
Pfad des aktiven Panels (Standard)
%Ds
Pfad des Quellpanels (aktiv)
%Dt
Pfad des Zielpanels (inaktiv)
%Dl
Pfad des linken Panels
%Dr
Pfad des rechten Panels
%Z
Name des letzten Verzeichnisses im aktiven Panel (Standard)
%Zs
Name des letzten Verzeichnisses im Quellpanel (aktiv)
%Zt
Name des letzten Verzeichnisses im inaktiven Panel (Ziel)
%Zl
Name des letzten Verzeichnisses im linken Panel
%Zr
Name des letzten Verzeichnisses im rechten Panel
%"0
Dateinamen ohne Anführungszeichen generieren
%"1
Dateinamen mit Anführungszeichen generieren
%"
Standardverhalten (Anführungszeichen)
%/0
Pfade ohne abschließenden Trenner (Standard)
%/1
Pfade mit abschließendem Trenner
%/
Standardverhalten (ohne Trenner)
%L
Dateiliste mit vollständigen Pfaden
%F
Dateiliste nur mit Dateinamen
%R
Dateiliste mit relativen Pfaden
Q
Suffix für %L, %F, %R: Namen in Anführungszeichen
U
Suffix für %L, %F, %R: UTF-8 Kodierung
W
Suffix für %L, %F, %R: UTF-16 Kodierung
%t0
Terminal-Ausführung (danach schließen)
%t1
Terminal-Ausführung (danach offen halten)
%[nachricht]
Zeigt eine Dialogbox an
%[nachricht;vorgabe]
Eingabeaufforderung mit Standardwert
%%
Ein einzelnes %-Zeichen
%#
Ab hier wird # wie % behandelt
#%
Hebt den Effekt von %# auf
%?
Befehlszeile vor Ausführung anzeigen

16. Umgebungsvariablen

Umgebungsvariablen können in vielen Double Commander Einstellungen verwendet werden (Pfade zu Programmen, Icons, Plugins, Favoriten usw.).

DC unterstützt alle Systemvariablen sowie einige eigene:

Double Commander Umgebungsvariablen
VariableBeschreibung
%COMMANDER_EXE%
Vollständiger Name der Double Commander Programmdatei (Pfad + Name).
%COMMANDER_PATH%
Verzeichnis der Double Commander Programmdatei.
%COMMANDER_DRIVE%
Laufwerk/Mountpoint des Double Commander Ordners.
%COMMANDER_INI%
Vollständiger Name der Konfigurationsdatei (doublecmd.xml).
%COMMANDER_INI_PATH%
Verzeichnis der Double Commander Konfigurationsdateien.
%DC_CONFIG_PATH%
Verzeichnis der Double Commander Konfigurationsdateien.

Namen wie %COMMANDER_PATH% sind in DC case-insensitive und können mit % umschlossen werden, was die Arbeit auf verschiedenen Plattformen erleichtert.

Unter Windows unterstützt DC zudem Pseudo-Umgebungsvariablen im Format %$Name% für Systemordner (z.B. %$APPDATA%). Diese stehen nur innerhalb von DC zur Verfügung. Sie finden diese unter der Schaltfläche Einige Funktionen zur Auswahl eines geeigneten Pfads Funktionen zur Pfadauswahl (Details hier).

Diese Variablen sind auch im Menü Verzeichnisliste (Untermenü Spezielle Verzeichnisse) verfügbar.


Ursprünglich erstellt von Rustem (dok_rust@bk.ru)

Valid HTML 4.0 Transitional CSS Valid!