Frage zum Kommandozeilen-Platzhalter '%L'

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
guenterf
Junior Member
Junior Member
Posts: 2
Joined: 2010-07-05, 09:03 UTC

Frage zum Kommandozeilen-Platzhalter '%L'

Post by *guenterf »

Ich hänge verschiedene Tools über das StarterMenü ein und versorge diese per Kommandozeile mit TotalCmd-Platzhaltern, z.B. '-filesearch -basedir "%p" -inputfile "%L"'. Das funktioniert einwandfrei bis auf folgende Situation: wenn der (TotalCmd-)Cursor auf dem '[..]'-Eintrag steht, wird das Tool mit einer komplett leeren(!) Kommandozeile aufgerufen!! Eigentlich täte ich erwarten, dass auch wenn keine Datei angeklickt oder selektiert ist, zumindest die Kommandozeile '-filesearch -basedir "<akt.Verz.>" -inputfile ""' übergeben wird.
Allerdings: wenn ich das obige Beispiel abkürze auf '-filesearch -basedir "%p"', dann wird die Kommandozeile so wie erwartet übergeben. Ist diese (Neben-)Wirkung des Parameter '%L' gewollt oder ein Bug?!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50703
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Total Commander kann leider nicht "wissen", welche Teile der Kommandozeile übergeben werden sollen, wenn keine Datei markiert ist. Im obigen Beispiel müsste etwa der Parameter "-inputfile" weggelassen werden. TC übergibt deshalb gar keine Parameter aus dem Feld "Parameter". -filesearch können Sie ins Feld "Befehl" übernehmen, -basedir "%p" leider nicht ("%p" wird dort nicht aufgelöst).
Author of Total Commander
https://www.ghisler.com
guenterf
Junior Member
Junior Member
Posts: 2
Joined: 2010-07-05, 09:03 UTC

Frage zum Kommandozeilen-Platzhalter '%L'

Post by *guenterf »

hallo,
vielen Dank erstmal für die schnelle Antwort.
Na ja, es ist zwar in diesem Zustand keine Datei selektiert, aber immerhin ist ja ein "aktuelles Quellverzeichnis" bekannt und auch das allein ist schon eine wichtige Information für das aufgerufene Tool.
"Meines Erachtens"(!) wäre folgende Vorgehensweise gut: ist eine Information zu einem Platzhalter vorhanden, wird der Platzhalter gegen diese Info ausgetauscht - wenn aber keine Information zu einem Platzhalter vorliegt, wird der Platzhalter aus der Kommandozeile rausgelöscht. Oder anders formuliert: TotalCmd sollte in der Kommandozeile nur das Ersetzen der Platzhalter ausführen und muss alle anderen Bestandteile der Kommandozeile völlig ignorieren. Denn eine Interpretation dieser Zusatzteile (wie z.B. "-inputfile") kann NUR die aufgerufene Anwendung ausführen.
Post Reply