usercmd.ini: 3 versch. befehle starten dasselbe program?

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

usercmd.ini: 3 versch. befehle starten dasselbe program?

Post by *versalzen »

hallo,

habe in meiner usercmd.ini
folgende, jeweils einzelne instanzen vom vncviewer startende, einträge:

Code: Select all

[em_starten_vnc.real]
Cmd=vncviewer.exe
Path=%COMMANDER_PATH%\portable\VNC\VNC.Real\
Menu=Real VNC
button=%COMMANDER_PATH%\portable\VNC\VNC.Real\vncviewer.exe

[em_starten_vnc.tight]
Cmd=vncviewer.exe
Path=%COMMANDER_PATH%\portable\VNC\VNC.Tight\
Menu=Tight VNC
button=%COMMANDER_PATH%\portable\VNC\VNC.Tight\vncviewer.exe

[em_starten_vnc.ultra]
Cmd=vncviewer.exe
Path=%COMMANDER_PATH%\portable\VNC\VNC.Ultra\
Menu=Ultra VNC
button=%COMMANDER_PATH%\portable\VNC\VNC.Ultra\vncviewer.exe
die entsprechende verzeichnisstruktur sieht (aufs wesentliche gekürzt) so aus:

Code: Select all

E:\Programme\tc\portable\vnc\VNC.Real
E:\Programme\tc\portable\vnc\VNC.Real\vncviewer.exe
E:\Programme\tc\portable\vnc\VNC.Real\winvnc4.exe

E:\Programme\tc\portable\vnc\VNC.Tight
E:\Programme\tc\portable\vnc\VNC.Tight\vncviewer.exe
E:\Programme\tc\portable\vnc\VNC.Tight\WinVNC.exe

E:\Programme\tc\portable\vnc\VNC.Ultra
E:\Programme\tc\portable\vnc\VNC.Ultra\vncviewer.exe
E:\Programme\tc\portable\vnc\VNC.Ultra\winvnc.exe
rufe ich nun
em_starten_vnc.real
oder
em_starten_vnc.tight
oder
em_starten_vnc.ultra
via button, oder kommandozeile auf, wird nur der ultraVNC-viewer gestartet, nicht, wie man annehmen sollte, der jeweils ausgewählte.

ändere ich

Code: Select all

Cmd=vncviewer.exe
Path=%COMMANDER_PATH%\portable\VNC\VNC.Real\
auf

Code: Select all

Cmd=%COMMANDER_PATH%\portable\VNC\VNC.Real\vncviewer.exe
Path=%COMMANDER_PATH%\portable\VNC\VNC.Real\
(füge also der jeweiligen CMD= zeile den pfad aus der path= zeile hinzu,)
so wird der richtige vnc-viewer gestartet.

einfache frage: wieso geht es nicht ohne die pfadangabe in der CMD= zeile?
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
User avatar
dumbledore954
Senior Member
Senior Member
Posts: 373
Joined: 2006-11-27, 08:10 UTC
Location: Hessisch Sibirien (Germany)

Post by *dumbledore954 »

Ist die vncviewer.exe vom VNC Ultra vielleicht Bestandteil der PATH-Variablen, so dass diese Datei jeweils über das Betriebssystem gefunden wird? :?:
Gruß Michael

WinXPPro SP3, TC 7.56a
#7640 Personal licence
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

dumbledore954 wrote:Ist die vncviewer.exe vom VNC Ultra vielleicht Bestandteil der PATH-Variablen, so dass diese Datei jeweils über das Betriebssystem gefunden wird? :?:
nein, kein entsprechender pfad gesetzt.
die path-variable sollte auch egal sein, da ja in der usercmd.ini *direkt* auf das *richtige* verzeichnis verwiesen wird. jedenfalls bin ich bis dato davon ausgegangen.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
User avatar
Lefteous
Power Member
Power Member
Posts: 9537
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

wieso geht es nicht ohne die pfadangabe in der CMD= zeile?
Der Startpfad gibt dem zu startenden Programm einen aktuellen Pfad vor, mit dem es arbeiten soll. Das hat aber nichts damit zu tun welches Programm gestartet wird. Das wird ausschließlich durch das Kommando festgelegt.
User avatar
norfie²
Power Member
Power Member
Posts: 1038
Joined: 2006-02-10, 07:27 UTC

Post by *norfie² »

Lefteous wrote:
wieso geht es nicht ohne die pfadangabe in der CMD= zeile?
Der Startpfad gibt dem zu startenden Programm einen aktuellen Pfad vor, mit dem es arbeiten soll. Das hat aber nichts damit zu tun welches Programm gestartet wird.
Jein. In den Startpfad wird vorher gewechselt. Er wird also das aktuelle Verzeichnis. Dann wird die Kommandozeile uebergeben. Wird dabei ein Programm ohne Pfadangabe aufgerufen, sucht das OS entsprechend seiner eigenen Praeferenzen das Programm. Bei Windows ist i.d.R. das aktuelle Verzeichnis in der Suche an einer der ersten Stellen eingeschlossen. Evtl. durchsucht Windows zuerst auch Systemverzeichnisse (C:\Windows, C:\Windows\System32 ...). Was zuerst gefunden wird, wird schlussendlich gestartet. Also evtl. existiert auf den Rechnern eine lokale Installation des vncviewer.exe in einem Systemverzeichnis.
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

Lefteous wrote:
wieso geht es nicht ohne die pfadangabe in der CMD= zeile?
Der Startpfad gibt dem zu startenden Programm einen aktuellen Pfad vor, mit dem es arbeiten soll. Das hat aber nichts damit zu tun welches Programm gestartet wird. Das wird ausschließlich durch das Kommando festgelegt.
es ist also so, das in PATH= der pfad steht, der dem mittels CMD= gestarteten programm übergeben wird, und nicht, das PATH dem CMD vorangestellt wird? oder beides?

wenn das geklärt ist, ist es trotzdem seltsam, das hier,
obwohl

Code: Select all

C:\>path
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
überhaupt ein (vnc-)programm gestartet wird.


nun, vielleicht doch noch einmal für verstandsakrobaten wie mich:

frage: wieso wird plugman.exe, wenn ich em_starten_TCPluginsManager auf der kommandozeile eingebe, in diesem code-beispiel, gestartet wenn deine aussage -wäre sie ausschliesslich- zutrifft?
[em_starten_TCPluginsManager]
Cmd=plugman.exe
Path=%COMMANDER_PATH%\exe\TC_plugman\
Menu=TC Plugins Manager
button=%COMMANDER_PATH%\exe\TC_plugman\plugman.exe,2
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50768
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Total Commander setzt das Verzeichnis von "Path=" mit SetCurrentDirectory, welches dann vom gestarteten Programm als aktuelles Verzeichnis "geerbt" wird. Welches Programm gestartet wird, wenn man bei diesem keinen Ort angibt, hängt allerdings von Windows ab. Deshalb ist es besser, den genauen Ort selber anzugeben, also so:

[em_starten_vnc.real]
Cmd=""%COMMANDER_PATH%\portable\VNC\VNC.Real\vncviewer.exe""
Menu=Real VNC
button=%COMMANDER_PATH%\portable\VNC\VNC.Real\vncviewer.exe

Die "" sind doppelt, weil beim Lesen aus ini-Dateien die äussersten " von Windows entfernt werden.
Author of Total Commander
https://www.ghisler.com
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

vielen dank an alle, die zur klärung beigetragen haben :-)
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
Post Reply