Wechseln des Fenster-Pfades über Batch-Datei im Startermenü

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Luzie
Junior Member
Junior Member
Posts: 91
Joined: 2003-02-27, 07:58 UTC

Wechseln des Fenster-Pfades über Batch-Datei im Startermenü

Post by *Luzie »

Hallo,

ich würde gerne über das Startermenü eine Batchdatei starten. Das ist ja kein Problem.

Die Batchdatei erzeugt mir über eine Abfrage einen Pfad
und schreibt diese in eine Variable. Geht auch noch.

Dann soll in diesem Pfad (Variable) das aktive Fenster des Total Commander geöffnet werden.

Ist das irgendwie hin zu kriegen ?
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6981
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Ja, z.B. einfach einen Aufruf des TC in der Batchfile am Ende wie folgt:

%COMMANDER_EXE% /o /L="%deine_Variable%"

Wechselt im laufenden TC auf der linken Seite in den Pfad.
Luzie
Junior Member
Junior Member
Posts: 91
Joined: 2003-02-27, 07:58 UTC

Post by *Luzie »

Hey ! Klappt ja super. Und ich probiere mir hier einen ab ;-) ...

Nun kann ich über die Batchdatei mit:

Code: Select all

for /f "usebackq tokens=3*" %%D IN (`reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) do set DESKTOP=%%D

"%COMMANDER_EXE%" /o /L=%DESKTOP%
bequem übers Starter-Menü in den "realen" User-Desktop Ordner wechseln (das cm_OpenDesktop führte mich ja in den \Desktop-Ordner aber da wollte ich nicht hin bzw. machte der Ärger wenn ich den Desktop-Ordner an einen anderen Pfad verschoben hatte).

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

Post by *sqa_wizard »

Das funktioniert im TC auch ganz ohne Batch :)

Code: Select all

%COMMANDER_EXE% /o /L="%$Desktop%"
#5767 Personal license
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6981
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

sqa_wizard wrote:Das funktioniert im TC auch ganz ohne Batch :)

Code: Select all

%COMMANDER_EXE% /o /L="%$Desktop%"
Nein, tut es nicht, wenn der TC die neu erzeugten Environment Variablen seines Sub Process nicht kennt.
Ausserdem führt %$DESKTOP% nicht zum vollständigen Desktop Inhalt.
Dies aber macht das %COMMANDER_EXE% /o /L=::
Genau wie ein "CD ::" im DirMenu
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Ähem,...
Der Weg zum persönlichen Desktop ist allerdings gerade das was Luzie haben will. Oder?

Und es geht auch noch einfacher:

Code: Select all

cd %$DESKTOP%
Afaik machen die (TC-Wiki):Pseudovariablen auch nichts anderes als das was in dem Batch aufwändig aus der Registry ausgelesen wird.
(TC-Wiki):[b]Pseudovariablen[/b] wrote:In der Version 6.5 des Total Commanders wurden zahlreiche Pseudo-Umgebungsvariablen eingeführt. Pseudo-Umgebungsvariablen sind in der Registrierung bereits vorhandene Zuweisungen zwischen Namen und Verzeichnispfaden.
Gruss
Holger
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Luzie wrote: Nun kann ich über die Batchdatei mit:

Code: Select all

for /f "usebackq tokens=3*" %%D IN (`reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop`) do set DESKTOP=%%D

"%COMMANDER_EXE%" /o /L=%DESKTOP%
Es wurden bereits einfachere Lösungen genannt, (cd %$DESKTOP% , Beachte das '$')
doch noch ein Wort zum Auslesen der Umgebungsvariablen:

Diese sind bereits in der "DOS-Box" gesetzt, siehe 'set' Befehl.

Somit kannst du diese einfach verwenden:
"%COMMANDER_EXE%" /o /L="C:%HomePath%\Desktop"
"%COMMANDER_EXE%" /o /L="%HomeDrive%%HomePath%\Desktop"

und musst diese nicht selbst aus der Registry auslesen.


 
Post Reply