Relative Pfade bei Einstellungen :-(

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
Copeman
Junior Member
Junior Member
Posts: 4
Joined: 2003-07-21, 11:51 UTC

Relative Pfade bei Einstellungen :-(

Post by *Copeman »

Bei den LS- und DS- Plugins und auch bei den Packer-Erweiterungen lassen sich relative Pfade fürs Plugin angeben z.B. plugins\rpm\rpm.wcx. Teilweise muss man eine absolute Pfadangabe direkt über die Einstellungsdatei umstellen, aber es funktioniert.

Leider funktioniert es nicht bei "Benutze Irfanview um ....". Hier geht es weder über "uniview.exe" noch "./uniview.exe" noch "\TotalCMD\uniview.exe". Ich muss immer den absoluten Pfad inklusive Laufwerksbezeichner angeben. Das ist schlecht, da man den TC nicht auf einem USB-Stick bzw. einer CD-ROM ausführen kann ohne diesen zu installieren. Der Laufwerksbuchstabe ist auf jedem Rechner anders.

Gibt es dafür einen Workaround oder ist TC-seitig vielleicht eine Verbesserung geplant ?
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Re: Relative Pfade bei Einstellungen :-(

Post by *Lefteous »

Copeman wrote:Bei den LS- und DS- Plugins und auch bei den Packer-Erweiterungen lassen sich relative Pfade fürs Plugin angeben z.B. plugins\rpm\rpm.wcx. Teilweise muss man eine absolute Pfadangabe direkt über die Einstellungsdatei umstellen, aber es funktioniert.

Leider funktioniert es nicht bei "Benutze Irfanview um ....". Hier geht es weder über "uniview.exe" noch "./uniview.exe" noch "\TotalCMD\uniview.exe". Ich muss immer den absoluten Pfad inklusive Laufwerksbezeichner angeben. Das ist schlecht, da man den TC nicht auf einem USB-Stick bzw. einer CD-ROM ausführen kann ohne diesen zu installieren. Der Laufwerksbuchstabe ist auf jedem Rechner anders.

Gibt es dafür einen Workaround oder ist TC-seitig vielleicht eine Verbesserung geplant ?
Es wird in der nächsten Version eine interne Umgebungsvariable COMMANDER_PATH (vielleicht auch COMMANDER_DRIVE) geben.
Siehe auch: http://www.ghisler.ch/board/viewtopic.php?t=720 (englisches Forum)
Copeman
Junior Member
Junior Member
Posts: 4
Joined: 2003-07-21, 11:51 UTC

Post by *Copeman »

Es wird in der nächsten Version eine interne Umgebungsvariable COMMANDER_PATH (vielleicht auch COMMANDER_DRIVE) geben.
Danke für die schnelle Antwort ! Kann man näheres dazu irgendwo schon nachlesen ? Soll die interne Umgebungsvariable eine OS Umgebungsvariable a la "SET COMMANDER_PATH=" sein ? Dann bräuchte man ja immer eine Batch-Datei um diese zu setzen, wenn man nicht auf jedem Rechner die Einstellungen verändern will.

Sinnvoller wäre doch ein programminterner Betriebssystem-Aufruf über den ich erfahre wo ich gestartet wurde. Dann habe ich die Werte Pfad und Laufwerk.

Prima wäre auch, wenn an dieser Stelle die totalcmd.ini gelesen werden würde falls vorhanden.
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Kann man näheres dazu irgendwo schon nachlesen ?
Ausser des schon genannten Threads eigentlich nicht.

Soll die interne Umgebungsvariable eine OS Umgebungsvariable a la "SET COMMANDER_PATH=" sein ?
Der TC wird die Variable selbst setzen und du kannst sie dann in der Form %COMMANDER_PATH%\Plugins\MeinPlugin\MP.wcx benutzen.

HTH
Roman
User avatar
CADweazle
Senior Member
Senior Member
Posts: 297
Joined: 2003-04-03, 09:10 UTC
Location: Freiburg i.Br. Deutschland

Post by *CADweazle »

Bleibt nur noch hinzuzufügen, dass man schon jetzt damit prima arbeiten kann:
unter Win2000/XP (bei den anderen weiss ich es nicht), kann man ja nun schliesslich eigene Umgebungsvariablen definieren:

"Rechtsklick-Arbeitsplatz-Eigenschaften-Erweitert-Umgebungsvariablen" und dann einfach commander_path festlegen, aber ohne "\" am Ende!

Sobald dann der TC6 kommt, ist man schon gerüstet... 8)

Gruss,
Cheer up, Karl
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Der TC wird die Variable selbst setzen und du kannst sie dann in der Form %COMMANDER_PATH%\Plugins\MeinPlugin\MP.wcx benutzen.

HTH
Roman
ich denke der TC 6.0 wird %COMMANDER_PATH% garnicht explizit setzen. Du könntest ja mehrere TC-Instanzen von unterschiedlichen Installationen starten. Er wird lediglich in allen Pfadangaben %COMMANDER_PATH% entsprechend expandieren.
Copeman
Junior Member
Junior Member
Posts: 4
Joined: 2003-07-21, 11:51 UTC

Post by *Copeman »

"Rechtsklick-Arbeitsplatz-Eigenschaften-Erweitert-Umgebungsvariablen" und dann einfach commander_path festlegen, aber ohne "\" am Ende!

Sobald dann der TC6 kommt, ist man schon gerüstet...
Das ist es ja gerade, was vermieden werden sollte. Wenn du direkt von CD-Rom auf unterschiedlichen Rechnern startest, müsstest du das bei jedem Arbeitsplatz einstellen.

Die Herausforderung ist folgende:

Baue eine TC Installation mit deinen Lieblingseinstellungen und sämtlichen Plugins direkt startbar von einer CD-ROM/USB-Stick ohne dass nur eine Änderung am Rechner vorgenommen werden muss.

Ich kenne viele Firmen, bei denen werden die Rechner soweit abgeschottet, dass noch nichteinmal die totalcmd.ini ins Windows-Verzeichnis geschrieben werden kann.

Gruss,
Götz
User avatar
CADweazle
Senior Member
Senior Member
Posts: 297
Joined: 2003-04-03, 09:10 UTC
Location: Freiburg i.Br. Deutschland

Post by *CADweazle »

Copeman wrote:
"Das ist es ja gerade, was vermieden werden sollte. Wenn du direkt von CD-Rom ...
Was jeder mit meinem "Tipp" machen will muss er schon selbst wissen.

Für die USB/CD-Geschichte z.B. habe ich ein WSH-Script, dass beim Aufruf den aktuellen TC-Pfad abfragt, anschliessend den commander-path setzt und dann den TC startet. 8)

Problem dabei ist nur, dass dabei die aktuellen wsh-Dateien vorhanden sein müssen... :(, und da dass nun mal so ist, kann man diesen "Trick halt nur begrenzt einsetzen.
Allerdings kann man ja auch einen registry-export verwenden und jeweils den Laufwerksbuchstaben ändern?!

Bei "absolut" abgeschotteten Rechnern hilft allerdings nur Warten auf TC6!

Christian wird den Pfad wohl beim Start "richtig" ermitteln und entspechend setzen...

Gruss,
Cheer up, Karl
BigOlli
Junior Member
Junior Member
Posts: 9
Joined: 2003-03-31, 08:03 UTC

Post by *BigOlli »

Hallo miteinander,

eine Service-CD, die überall einsetzbar ist. Das währe es!
Ich mache das mit TC.bat:

@echo off
cls
set TCLw=T:
set tcini=S0
if not "%1"=="" if not "%1"=="t:" if not "%1"=="T:" goto TCLw
goto tc
:TCLw
%comspec% /c
set tcini=TCLw
set TCLw=%1\#
:tc
call %TCLw%\TOTALCMD\TOTALCMD.EXE /I=%TCLw%\TOTAL_00\tc_system\%tcini%.INI /F=%TCLw%\TOTAL_00\tc_system\WCX_FTP.INI
:e

Ich muss zwar als erstes nachschauen, welches das CD-LW ist, aber sonst allerbest. Ich tippe nur noch unter "Ausführen" ein, Z. Bsp:
E:\#\tc E:

Unter W95 wie jetzt auch unter WXP kann man viel einfacher ein Verzeichnis auf einer CD sogar substen.
Eine gute Idee ist es, von .bat weg zu WSH-Script. Hab' aber keine Erfahrung darin.
Nun zu Dir, lieber CADWeazle:
Könntest Du so ein Script Erstellen?
Es müsste ermitteln welches das CD-LW ist und ob es unter XP aufgerufen wurde. Dann den Ablauf wie in der .bat, vielleicht mit Verbesserungen.

mfg
BigOlli
User avatar
CADweazle
Senior Member
Senior Member
Posts: 297
Joined: 2003-04-03, 09:10 UTC
Location: Freiburg i.Br. Deutschland

Post by *CADweazle »

2BigOlli & 2Copeman

Hallo auch,

na, wenn man sooo nett gebeten wird :wink: :

Code: Select all

Option Explicit

Dim WshShell	' as object
Dim colUserEnv	' as 1. collection
Dim colSysEnv	' as 2. collection
Dim tmpDir	' as string

Set WshShell = WScript.CreateObject("WScript.Shell")
Set colUserEnv = WshShell.Environment("user")
Set colSysEnv = WshShell.Environment("system")


If Right(WshShell.CurrentDirectory,1)="\" Then
	tmpDir = Left(WshShell.CurrentDirectory,Len(WshShell.CurrentDirectory)-1) 'remove the \ if TC is in the root
Else
	tmpDir = WshShell.CurrentDirectory
End If


colUserEnv("commander_path") = tmpDir	'now setting the environment variable

WshShell.RegWrite "HKCU\Software\Ghisler\Total Commander\IniFileName", ".\\wincmd.ini", "REG_SZ"	'setting proper values
WshShell.RegWrite "HKCU\Software\Ghisler\Total Commander\FtpIniName", ".\\wcx_ftp.ini", "REG_SZ"
WshShell.RegWrite "HKCU\Software\Ghisler\Total Commander\InstallDir", "%commander_path%", "REG_SZ"

WshShell.Run "totalcmd.exe"

WScript.Echo 	colSysEnv("os") & vbCrLf & vbCrLf & _
		colUserEnv("commander_path")	'for testing ;-)

Set WshShell = Nothing
Getestet unter Win2K/XP.

Ich gebe allerdings keine Garantie oder Gewährleistung für die Funktionalität.
Jeder, der seine registry beackert, ohne zu wissen was er tut, oder nicht wenigstens ein aktuelles Backup hat und es auch zu nutzen weiß, sollte die Finger davon lassen. :evil:

Alle anderen: :D

Gruß,
Cheer up, Karl
User avatar
chriss
Senior Member
Senior Member
Posts: 221
Joined: 2003-02-12, 10:17 UTC

Post by *chriss »

Copeman wrote:

Die Herausforderung ist folgende:

Baue eine TC Installation mit deinen Lieblingseinstellungen und sämtlichen Plugins direkt startbar von einer CD-ROM/USB-Stick ohne dass nur eine Änderung am Rechner vorgenommen werden muss.

Ich kenne viele Firmen, bei denen werden die Rechner soweit abgeschottet, dass noch nichteinmal die totalcmd.ini ins Windows-Verzeichnis geschrieben werden kann.

Gruss,
Götz
moin

und ich kenne mindestens genauso viele firmen bei denen, aus den gleichen gründen, der einsatz von usb-sticks strikt verboten ist und die usb-schnittstellen dann deaktiviert werden.

bei heise gabs mal einen anstz nur gewünschte usb-geräte laufen zu lassen.

und was machst du dann?
gruß


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

Post by *Lefteous »

chriss wrote:
Copeman wrote:

Die Herausforderung ist folgende:

Baue eine TC Installation mit deinen Lieblingseinstellungen und sämtlichen Plugins direkt startbar von einer CD-ROM/USB-Stick ohne dass nur eine Änderung am Rechner vorgenommen werden muss.

Ich kenne viele Firmen, bei denen werden die Rechner soweit abgeschottet, dass noch nichteinmal die totalcmd.ini ins Windows-Verzeichnis geschrieben werden kann.

Gruss,
Götz
moin

und ich kenne mindestens genauso viele firmen bei denen, aus den gleichen gründen, der einsatz von usb-sticks strikt verboten ist und die usb-schnittstellen dann deaktiviert werden.

bei heise gabs mal einen anstz nur gewünschte usb-geräte laufen zu lassen.

und was machst du dann?
was macht es für einen Sinn USB-Sticks (oder allgemein USB-Laufwerke) zu deaktivieren? Wenn keine Schreibrechte auf Programme- und Systemverzeichnis gegeben sind (und davon gehen wir ja aus) besteht keinerlei Gefahr. :evil:
Wenn nun USB-Sticks nicht möglich sind (warum auch immer) bleibt immer noch das gute alte Diskettenlaufwerk. :idea:

Wenn ein System so konfiguriert ist, dass GARNIX von außen reinkommt, dann verstehe ich den Sinn Deine Beitrags nicht. Da hilft auch kein Skript.

Was mich vielmehr interessieren würde ist wie kann ich den Inhalt meines USB-Sticks beschreiben so dass ein Programm automatisch gestartet wird (Windows XP)?
User avatar
CADweazle
Senior Member
Senior Member
Posts: 297
Joined: 2003-04-03, 09:10 UTC
Location: Freiburg i.Br. Deutschland

Post by *CADweazle »

2Lefteous
Wenn ein System so konfiguriert ist, dass GARNIX von außen reinkommt, dann verstehe ich den Sinn Deine Beitrags nicht. Da hilft auch kein Skript.
Da geht's dann wohl mehr darum, das nix rausgeht... :wink:
Was mich vielmehr interessieren würde ist wie kann ich den Inhalt meines USB-Sticks beschreiben so dass ein Programm automatisch gestartet wird (Windows XP)?
Mich auch, im c't stand vor ein paar Wochen was über booten mit Sticks, aber das Thema Autostart(wie CD) oder Autoplay(XP) ist recht widersprüchlich.

Gruss,
Cheer up, Karl
Post Reply