Environment Variablen Expansion in Button

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
haubmi
New Member
New Member
Posts: 1
Joined: 2008-03-13, 11:49 UTC

Environment Variablen Expansion in Button

Post by *haubmi »

Hallo,

auf einen benutzerdefinierten Buttondruck möchte ich TCmenu mit einer
bar.-Datei aufrufen, die bei jedem Benutzer in %APPDATA%\Ghisler\ liegt.

Leider bekomme ich %APPDATA%, als Parameter für den TCmenu Aufruf,
vom TC nicht expandiert.

Geht das und wie?

Ich behelfe mich derzeit damit eine Batchdatei aufzurufen, die TCmenue mit dem kompletten Pfad zur bar.-Datei aufruft. Dazu ergänzt die Batch den Pfad aus dem Namen der bar.-Datei (als Parameter übergeben) und %APPDATA%. Das startet aber immer auch eine minimierte Konsole und außerdem klappen die Menues von TCmenu irgendwie nicht mehr zu.

Danke
User avatar
sqa_wizard
Power Member
Power Member
Posts: 3895
Joined: 2003-02-06, 11:41 UTC
Location: Germany

Post by *sqa_wizard »

Leider bekomme ich %APPDATA%, als Parameter für den TCmenu Aufruf,
vom TC nicht expandiert.

Geht das und wie?
Nein, geht nicht.
Umgebungsvariablen wie %APPDATA% werden im Parameterfeld nicht aufgelöst um Verwechslungen mit den internen Platzhaltern ( z.B. %P%N ) zu vermeiden
#5767 Personal license
User avatar
norfie²
Power Member
Power Member
Posts: 1040
Joined: 2006-02-10, 07:27 UTC

Post by *norfie² »

2haubmi
Verschiebe die Parameter von Parameter nach Kommando.
z.B.

Code: Select all

Kommando: %COMMANDER_PATH%\ADDONS\TCMENU.EXE %APPDATA%\GHISLER\windows.bar
Parameter: <leer>
"War is evil, in so far as it makes more bad people than it takes away."
Immanuel Kant in "Perpetual Peace"
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50806
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Falls %COMMANDER_PATH% oder %APPDATA% Leerzeichen enthält, müssen Sie noch doppelte Anführungszeichen verwenden:

Kommando: "%COMMANDER_PATH%\ADDONS\TCMENU.EXE" "%APPDATA%\GHISLER\windows.bar"
Parameter: <leer>
Author of Total Commander
https://www.ghisler.com
StatusQuo
Power Member
Power Member
Posts: 1524
Joined: 2007-01-17, 21:36 UTC
Location: Germany

Post by *StatusQuo »

sqa_wizard wrote:Nein, geht nicht.
Geht schon, aber nur mit Umweg über COMSPEC.
Prozentzeichen in "Parameter" müssen dabei verdoppelt werden, damit der Kommandointerpreter die Variablen erweitert:

Code: Select all

Kommando : %COMSPEC% /c start "" "%COMMANDER_PATH%\ADDONS\TCMENU.EXE" 
Parameter: "%%APPDATA%%\GHISLER\windows.bar"
Ob das jetzt speziell mit TCMENU funktioniert, habe ich nicht getestet, sollte aber problemlos sein.
Den Parameter mit ins Feld "Kommando" zu schreiben, ist natürlich einfacher...
Who the hell is General Failure, and why is he reading my disk?
-- TC starter menu: Fast yet descriptive command access!
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

COMSPEC ist unnötig. TCMenu löst Umgebungsvariablen selbst auf.

Icfu
This account is for sale
Post Reply