usercmd.ini und %COMMANDER_PATH% als parameter
Moderators: Hacker, Stefan2, white
usercmd.ini und %COMMANDER_PATH% als parameter
hi,
ich habe versucht, innerhalb eines extended commands die computerunabhängige pfadübergabe via variable %COMMANDER_PATH% zu übergeben.
einfach nur, weil es wollte und nicht wusste wie. nein, eigentlich wollte ich, das ich aus dem tc-datei-menu heraus, meine geliebte wincmd.ini im editor meiner wahl editieren kann. und zwar rechnerunabhängig, weil heutzutage alles portabel sein muss. man geht ja schliesslich mit der mode...
leider hat mich das einige nerven und viel zeit gekostet, weil kein übergebener parameter so wollte, wie ich, bis ich im wiki http://www.ghisler.ch/wikide/index.php/Wie_TC_den_Ort_der_INI-Datei_ermittelt , eher zufällig, diesen verweis fand:
...Obwohl man für die Pfadangabe zu den ini-Dateien die Variable %Commander_Path% benutzen könnte ist davon dringend abzuraten. Stattdessen sollte man den Ausdruck .\ der vom TC genauso ausgewertet wird...
also probierte ich das in der usercmd.ini aus, doch leider wurde im editor nur eine datei erstellt, die sich im programmverzeichnis des editors befand.
aaaaber, da ich kurz vorher diesen thread http://ghisler.ch/board/viewtopic.php?t=14957&highlight=param+usercmd gelesen hatte, dessen ergebnis ich voll teilen kann, probierte ich etwas, von dem ich ausging, es würde nur eine weitere fehlermeldung bringen.
hier also mein letztendliches ergebnis, welches mich dahin bringt, wohin ich anfänglich wollte. zwar nicht so, wie ich dachte, aber wenigstens:
[em_usercmd195]
Menu=wincmd.ini editieren
Cmd=uedit32.exe
Path=%COMMANDER_PATH%\..\ue\
;Param=%COMMANDER_INI% (ging nicht)
;Param=%COMMANDER_PATH%\tc\wincmd.ini (ging nicht)
;Param=%%COMMANDER_PATH%%\tc\wincmd.ini (ging nicht)
;Param=%%%COMMANDER_PATH%%%\tc\wincmd.ini (ging nicht)
;Param=? (ja, aber sehr anstrengend...)
;Param=E:\Programme\tc\wincmd.ini (ja, aber nicht computer-/pfadunabhängig)
Param=..\tc\wincmd.ini (das klappt nun, ist aber malade und funktioniert nur, weil zufällig beide programme im selben pfad liegen)
threads, die mir fast nicht geholfen haben :-)
http://www.ghisler.ch/board/viewtopic.php?t=13250
http://www.ghisler.ch/board/viewtopic.php?p=107679
abschliessend noch meine frage: wie geht das bitte anständig :-) bzw. wieso geht Param=%COMMANDER_INI% oder Param=%COMMANDER_PATH%\tc\wincmd.ini nicht?
ich habe versucht, innerhalb eines extended commands die computerunabhängige pfadübergabe via variable %COMMANDER_PATH% zu übergeben.
einfach nur, weil es wollte und nicht wusste wie. nein, eigentlich wollte ich, das ich aus dem tc-datei-menu heraus, meine geliebte wincmd.ini im editor meiner wahl editieren kann. und zwar rechnerunabhängig, weil heutzutage alles portabel sein muss. man geht ja schliesslich mit der mode...
leider hat mich das einige nerven und viel zeit gekostet, weil kein übergebener parameter so wollte, wie ich, bis ich im wiki http://www.ghisler.ch/wikide/index.php/Wie_TC_den_Ort_der_INI-Datei_ermittelt , eher zufällig, diesen verweis fand:
...Obwohl man für die Pfadangabe zu den ini-Dateien die Variable %Commander_Path% benutzen könnte ist davon dringend abzuraten. Stattdessen sollte man den Ausdruck .\ der vom TC genauso ausgewertet wird...
also probierte ich das in der usercmd.ini aus, doch leider wurde im editor nur eine datei erstellt, die sich im programmverzeichnis des editors befand.
aaaaber, da ich kurz vorher diesen thread http://ghisler.ch/board/viewtopic.php?t=14957&highlight=param+usercmd gelesen hatte, dessen ergebnis ich voll teilen kann, probierte ich etwas, von dem ich ausging, es würde nur eine weitere fehlermeldung bringen.
hier also mein letztendliches ergebnis, welches mich dahin bringt, wohin ich anfänglich wollte. zwar nicht so, wie ich dachte, aber wenigstens:
[em_usercmd195]
Menu=wincmd.ini editieren
Cmd=uedit32.exe
Path=%COMMANDER_PATH%\..\ue\
;Param=%COMMANDER_INI% (ging nicht)
;Param=%COMMANDER_PATH%\tc\wincmd.ini (ging nicht)
;Param=%%COMMANDER_PATH%%\tc\wincmd.ini (ging nicht)
;Param=%%%COMMANDER_PATH%%%\tc\wincmd.ini (ging nicht)
;Param=? (ja, aber sehr anstrengend...)
;Param=E:\Programme\tc\wincmd.ini (ja, aber nicht computer-/pfadunabhängig)
Param=..\tc\wincmd.ini (das klappt nun, ist aber malade und funktioniert nur, weil zufällig beide programme im selben pfad liegen)
threads, die mir fast nicht geholfen haben :-)
http://www.ghisler.ch/board/viewtopic.php?t=13250
http://www.ghisler.ch/board/viewtopic.php?p=107679
abschliessend noch meine frage: wie geht das bitte anständig :-) bzw. wieso geht Param=%COMMANDER_INI% oder Param=%COMMANDER_PATH%\tc\wincmd.ini nicht?
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
Hallo versalzen,
Habe auch einen Benutzerbefehl um die INI mit meinem Editor zu öffnen.
Dabei wird: %commander_ini% einfach an den Pfad als Parameter angehangen -funktioniert also bei mir.
Es wird immer die derzeit benutzte / gültige INI Datei geöffnet, unabhängig vom Namen.
Diese Pseudovariable wurde für Editoren (Addons) eingeführt, die die derzeit benutzte INI zu finden haben.
LG
Habe auch einen Benutzerbefehl um die INI mit meinem Editor zu öffnen.
Dabei wird: %commander_ini% einfach an den Pfad als Parameter angehangen -funktioniert also bei mir.
Es wird immer die derzeit benutzte / gültige INI Datei geöffnet, unabhängig vom Namen.
Diese Pseudovariable wurde für Editoren (Addons) eingeführt, die die derzeit benutzte INI zu finden haben.
LG
2versalzen
Hallo,
Umgebungsvariablen werden vom Total Commander nicht aufgelöst, wenn sie im Parameter-Feld angegeben werden. Eine mögliche Lösung wäre daher z.B.:
Hallo,
Umgebungsvariablen werden vom Total Commander nicht aufgelöst, wenn sie im Parameter-Feld angegeben werden. Eine mögliche Lösung wäre daher z.B.:
Code: Select all
cmd=""%COMMANDER_DRIVE%\uedit32\uedit32.exe" "%COMMANDER_INI%""
Zusammenfassung
Die Var %Commander_Path% verweist auf den Ordner,
in dem auch die gerade gestartete TOTALCMD.EXE liegt.
Also z.B. bei
X:\Tools\TC\Core\TOTALCMD.EXE
verweist %Commander_Path% auf
X:\Tools\TC\Core
-
Von diesem Pfad aus kann man sich hoch und runter angeln:
z.B.
%Commander_Path%\Plugins
ist dann das selbe wie
X:\Tools\TC\Core\Plugins
und
%Commander_Path%\..\PSPad
ist dann das selbe wie
X:\Tools\TC\PSPad
Die \..\ sind pure DOS Syntax und bedeuten "gehe eine Ebene höher"
Damit kann man weiter rumspielen, wie z.B.:
%Commander_Path%\..\..\..\PSPad\PSPad.exe
oder
%Commander_Path%\..\Editoren\PSPad\PSPad.exe
Das Konstrukt .\ kommt ebenfalls aus dem DOS Bereich
und verweist auf den aktuellen Ordner in dem ein Programm gerade arbeitet.
In dem oben verlinktem Thread zeigt Sombra eine weitere interessante Variante: %COMMANDER_INI%\..
Hier verweist %COMMANDER_INI% auf die INI-Datei und \.. verweist auf den Ordner in dem sie liegt.
-
Zur Übersicht:
X:\Tools\TC\
ist mein portabler "Hauptordner" in dem
im CORE-Ordner alle TC-Dateien liegen
und der weitere Ordner enthält, wie z.B. PSPad.
Also z.B.:
X:\Tools\TC\Core\
X:\Tools\TC\Core\Plugins
X:\Tools\TC\PSPad
X:\Tools\TC\AHK
X:\Tools\TC\xyz
-
Und wie Lefteous bereits sagte,
die VARs wie %Commander_Path% muss man im Kommando-Feld angeben:
Kommando: notepad %Commander_Path%\wincmd.ini
Parameter:
Startpfad:
Oder man benutzt, wie matbal und Stance bemerkten,
ab TC v7 die VAR %Commander_INI%
Kommando: notepad %Commander_INI%
dann muss man keinen Pfad zur INI angeben, es wird immer
die aktuell benutzte geöffnet.
Die Var %Commander_Path% verweist auf den Ordner,
in dem auch die gerade gestartete TOTALCMD.EXE liegt.
Also z.B. bei
X:\Tools\TC\Core\TOTALCMD.EXE
verweist %Commander_Path% auf
X:\Tools\TC\Core
-
Von diesem Pfad aus kann man sich hoch und runter angeln:
z.B.
%Commander_Path%\Plugins
ist dann das selbe wie
X:\Tools\TC\Core\Plugins
und
%Commander_Path%\..\PSPad
ist dann das selbe wie
X:\Tools\TC\PSPad
Die \..\ sind pure DOS Syntax und bedeuten "gehe eine Ebene höher"
Damit kann man weiter rumspielen, wie z.B.:
%Commander_Path%\..\..\..\PSPad\PSPad.exe
oder
%Commander_Path%\..\Editoren\PSPad\PSPad.exe
Das Konstrukt .\ kommt ebenfalls aus dem DOS Bereich
und verweist auf den aktuellen Ordner in dem ein Programm gerade arbeitet.
In dem oben verlinktem Thread zeigt Sombra eine weitere interessante Variante: %COMMANDER_INI%\..
Hier verweist %COMMANDER_INI% auf die INI-Datei und \.. verweist auf den Ordner in dem sie liegt.
-
Zur Übersicht:
X:\Tools\TC\
ist mein portabler "Hauptordner" in dem
im CORE-Ordner alle TC-Dateien liegen
und der weitere Ordner enthält, wie z.B. PSPad.
Also z.B.:
X:\Tools\TC\Core\
X:\Tools\TC\Core\Plugins
X:\Tools\TC\PSPad
X:\Tools\TC\AHK
X:\Tools\TC\xyz
-
Und wie Lefteous bereits sagte,
die VARs wie %Commander_Path% muss man im Kommando-Feld angeben:
Kommando: notepad %Commander_Path%\wincmd.ini
Parameter:
Startpfad:
Oder man benutzt, wie matbal und Stance bemerkten,
ab TC v7 die VAR %Commander_INI%
Kommando: notepad %Commander_INI%
dann muss man keinen Pfad zur INI angeben, es wird immer
die aktuell benutzte geöffnet.
/join #TCMD Chat at irc.freenode.net - Today's newbies are tomorrow's experts.
tut es, danke.matbal wrote:Versuch es mal so...
[em_usercmd195]
Menu=wincmd.ini editieren
Cmd=uedit32.exe %COMMANDER_INI%
Path=%COMMANDER_PATH%\..\ue\
Param=
Ob es immer funktioniert, weiß ich nicht
alles klar, danke f.d. aufschlussreiche info und die lösung.Lefteous wrote:2versalzen
Umgebungsvariablen werden vom Total Commander nicht aufgelöst, wenn sie im Parameter-Feld angegeben werden. Eine mögliche Lösung wäre daher z.B.:
Code: Select all
cmd=""%COMMANDER_DRIVE%\uedit32\uedit32.exe" "%COMMANDER_INI%""
und auch an RID500 für die zusammenfassung und den schulaufsatz ;-)
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
Re: Get a Discount of up to 50% for Windows Vista Ultimate 3
Moin,Loupspoonry wrote:MESSAGE
ist das eine seriöse Seite, gegooglt und nichts negatives gefunden,
es werden OEM-Versionen diverser Hersteller zum "Spottpreis" angeboten,
allerdings nur zum Download

Gruß aus HH
#425 Personal licence
4 Gb Vista 32 Bit SP1
16 Gb Win10P 64 Bit
1 GB Win7Starter SP1
all with TC 8.52A (32/64 Bit)
4 Gb Vista 32 Bit SP1
16 Gb Win10P 64 Bit
1 GB Win7Starter SP1
all with TC 8.52A (32/64 Bit)
Habe mir jetzt mal diesen Befehl von Matbal in das Konfigurieren Menu eingefügt, und noch ein Icon mit verlinkt.
Nur werden dort keine Icons von Userbefehlen angezeigt. Ist das bekannt? In der Buttonbar funktioniert es,
das Icon ist also korrekt verlinkt.
Wollte erst einmal fragen bevor ich das als Fehler melde.
mf
Nur werden dort keine Icons von Userbefehlen angezeigt. Ist das bekannt? In der Buttonbar funktioniert es,
das Icon ist also korrekt verlinkt.
Wollte erst einmal fragen bevor ich das als Fehler melde.
Code: Select all
[em_usercmd603]
Menu=wincmd.ini editieren
cmd=Notepad.exe %COMMANDER_INI%
button=D:\Util\Viewer\WinCmd\WCMICONS.DLL,28
Bankster - Word of the Year 2009
Falls jemand weiterlesen möchte: Mikefield hat während der Betatests des Total Commander 7.5 seinen Vorschlag in den TC7.5 suggestions (English) gemacht:Mikefield wrote:Habe mir jetzt mal diesen Befehl von Matbal in das Konfigurieren Menu eingefügt, und noch ein Icon mit verlinkt.
Nur werden dort keine Icons von Userbefehlen angezeigt. Ist das bekannt? In der Buttonbar funktioniert es,
das Icon ist also korrekt verlinkt.
Icons in Main menu for em_usercmd Icons im Menü (auch) für Benutzerbefehle
Danke für die Initiative !

- ghisler(Author)
- Site Admin
- Posts: 50754
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Das wird z.Zt. nicht utnerstützt, weil Virenscanner das Auslesen der Icons aus diversen Programmen quälend langsam machen - das Menü wird unbenutzbar. Ich müsste eine Art Cache schreiben, doch fehlte mir dazu bisher die Zeit...
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
2Christian Danke für die Info. Allerdings verstehe ich eins nicht:
Wenn es in der Button Bar funktioniert, warum funktioniert das nicht im Menu?
Werden die Icons in der Button Bar in "eine Art Cache" geschrieben?
2Stance Danke für die Verlinkung. Wenn Du den Thread dort verfolgst, wirst Du lesen,
daß es auf Umwegen funktioniert. Allerdings kann ich mir vorstellen, daß dieses für viele
User zu umständlich ist.
mf
Wenn es in der Button Bar funktioniert, warum funktioniert das nicht im Menu?
Werden die Icons in der Button Bar in "eine Art Cache" geschrieben?
2Stance Danke für die Verlinkung. Wenn Du den Thread dort verfolgst, wirst Du lesen,
daß es auf Umwegen funktioniert. Allerdings kann ich mir vorstellen, daß dieses für viele
User zu umständlich ist.
mf
Bankster - Word of the Year 2009
Ja, siehe hier: "Default.br2 is a cache for the icons..."Mikefield wrote:Werden die Icons in der Button Bar in "eine Art Cache" geschrieben?
Gruß
Holger
Danke, HolgerK oder soll ich lieber sagen Herr Link-Doktor?HolgerK wrote: Ja, siehe hier: "Default.br2 is a cache for the icons..."

mf
Bankster - Word of the Year 2009