TC8. 32Bit oder 64Bit ? (System, auf dem der TC läuft)

German support forum

Moderators: Hacker, Stefan2, white

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

TC8. 32Bit oder 64Bit ? (System, auf dem der TC läuft)

Post by *versalzen »

Hi,
ich erbitte diese reisserische Headline zu entschuldigen und komme nunmehr direkt zu dem Grund meines (dezent bunt gestalteten) Feature Requests:

wäre es möglich, in der Programmzeile, dort, wo jetzt schon "Total Commander 8.0 - <Ehrenvoller Name des Lizenznehmers>" steht, die zusätzlich sehr wissenswerte Information, ob der TC im 64- oder 32-Bit Modus läuft, unterzubringen?

In etwa
"Total Commander 8.0 (64Bit)- <Ehrenvoller Name des Lizenznehmers>"
oder gar
"Total Commander 8.0 (32Bit)- <Ehrenvoller Name des Lizenznehmers>"

Dies wäre m.E. ein überaus zweckdienlicher Gewinn an proaktiver Handlungsfähigkeit!
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
Camarillo
Junior Member
Junior Member
Posts: 66
Joined: 2011-12-20, 13:10 UTC
Location: Germany

Post by *Camarillo »

Wo liegt das Problem?
Der 32 Bit TC zeigt "Total Commander 8.0" in der Titelleiste.
Der 64 Bit TC zeigt "Total Commander (x64) 8.0" in der Titelleiste.
User avatar
gian
Member
Member
Posts: 106
Joined: 2010-06-01, 09:14 UTC
Location: ZH
Contact:

Post by *gian »

Hallo,

Da ich nur die 64Bit Version einsetze, könnte ich sogar auf die Bzeichnung x64 verzichten ;). 32Bit Versionen trauere ich keine Träne nach, weil ich mit 64Bit Windows und 64bit Anwendungen nur gute Erfahrungen gemacht habe, kommen auch, wenn die Wahl besteht, nur 64Bit Anwendungen zum Einsatz.

Freundliche Grüsse

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

Post by *versalzen »

Camarillo wrote:Wo liegt das Problem?
Oh! sprach ich von einem Problem? War mir gar nicht bewusst.
Camarillo wrote: Der 32 Bit TC zeigt "Total Commander 8.0" in der Titelleiste.
Der 64 Bit TC zeigt "Total Commander (x64) 8.0" in der Titelleiste.
Bei mir wird nichts angezeigt, das bedeutet dann wohl, dass auf dem 64Bit Rechner hier gerade im Moment die 32Bit Version des TC läuft, oder?

Wie kann ich das Verifizieren?
(ohne die Programmleiste zu berücksichtigen. Geht das?)
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
Schultheis
Member
Member
Posts: 118
Joined: 2004-03-04, 14:56 UTC
Location: Germany

Post by *Schultheis »

versalzen wrote:
Camarillo wrote:Wo liegt das Problem?
Oh! sprach ich von einem Problem? War mir gar nicht bewusst.
Camarillo wrote: Der 32 Bit TC zeigt "Total Commander 8.0" in der Titelleiste.
Der 64 Bit TC zeigt "Total Commander (x64) 8.0" in der Titelleiste.
Bei mir wird nichts angezeigt, das bedeutet dann wohl, dass auf dem 64Bit Rechner hier gerade im Moment die 32Bit Version des TC läuft, oder?

Wie kann ich das Verifizieren?
(ohne die Programmleiste zu berücksichtigen. Geht das?)
Der Taskmanager zeigt bei jedem 32-Bit-Programm hinter dem Programmnamen "*32" an! ;-)

Grüße
Burkhard
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

versalzen,
Hilfe - Über Total Commander.

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
versalzen
Power Member
Power Member
Posts: 670
Joined: 2003-09-16, 11:52 UTC
Location: kölle, linksrheinisch.

Post by *versalzen »

Wunderbar! Danke f.d. Ansätze :)

Meine uralten TC-Start-Batch-Dateien haben immer nur die 32-Bit version gestartet, weil es damals[tm] noch keine 64-Bit Versionen gab...

'Hab mir ne neue Batch geschrieben, die nun entweder der 64- oder 32-Bit TC startet.

Code: Select all

@cd .\portable\
@set path=%path%;%CD%;
@If Defined ProgramFiles(x86) (start ..\tc\totalcmd64.exe) else (start ..\tc\totalcmd.exe)
Nun wird auch - wie in Camarillos ersten Post - die interessante Info der Bits angezeigt. Zwar nur bei 64Bit, aber immerhin...

Seid bedankt.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?

Mario
User avatar
tuska
Power Member
Power Member
Posts: 4064
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo,

Mich würde interessieren, wie ich die oben angeführte Batchdatei anpassen müßte, damit die .BAT Datei aus jedem Verzeichnis heraus den TC 8 aufruft.
Die Dateien befinden sich im Pfad: D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\

Meine TC_Start.bar sieht dzt. so aus und funktioniert leider nicht:

Code: Select all

@cd .\%COMMANDER_PATH%\ 
@set path=%path%;%CD%; 
@If Defined ProgramFiles(x86) (start ..\%COMMANDER_PATH%\totalcmd64.exe) else (start ..\%COMMANDER_PATH%\totalcmd.exe)
Bitte um Unterstützung.
Gruß,
Karl
Camarillo
Junior Member
Junior Member
Posts: 66
Joined: 2011-12-20, 13:10 UTC
Location: Germany

Post by *Camarillo »

Code: Select all

@cd .\%COMMANDER_PATH%\
Das ergibt so keinen Sinn, denn das wäre in deinem Fall
.\D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\ also ein ungültiger Pfadname.
Außerdem existiert die Variable erst, wenn der TC schon läuft.

Das wird funktionieren:

Code: Select all

@If Defined ProgramFiles(x86) (start "D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\totalcmd64.exe") else (start "D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\totalcmd.exe")
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Karl.

Vorbemerkung:
Deine Anfrage ist mit Bezug auf das Thema dieses Threads, die Angabe 32-bit oder 64-bit Total Commander deutlicher im Fenstertitel des Total Commanders wiederzugeben, ein bißchen offtopic. Aber sei's drum.
:wink:

Zum Thema TC_Start.bat:

Das Hauptproblem an deiner Batchdatei TC_Start.bat ist die Verwendung der Umgebungsvariablen %COMMANDER_PATH%. Die existiert nur innerhalb einer laufenden Total Commander Instanz. D.h. nur Total Commander selbst setzt und kennt diese Variable und alle Prozesse, die du aus dem Total Commander heraus startest.

Vor dem Start des Total Commanders ist die Variable %COMMANDER_PATH% deinem Windows völlig unbekannt.

Darum mußt du
  • entweder in der TC_Start.bat die Variable %COMMNDER_PATH% selbst definieren und mit einem gültigen Wert belegen, bevor du sie benutzt.
    Z.B.:

    Code: Select all

    set COMMANDER_PATH=D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB
  • Oder du mußt alle Vorkommen von %COMMANDER_PATH% im Script TC_Start.bat durch eine andere, gültige Pfadangabe oder Variable ersetzen.

Änderungsvorschlag für TC_Start.bat:

Code: Select all

@echo off
REM Vorsicht, Pfad enthält Leerzeichen!
set COMMANDER_PATH=D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB

REM gehen wir in den Programmpfad
cd /d "%COMMANDER_PATH%"

REM Hat das geklappt?
if /i not "%CD%"=="%COMMANDER_PATH%" (
   echo Ordner "%COMMANDER_PATH%" nicht gefunden.
   pause
   exit /b 1
)

REM Verzeichnis dem Suchpfad hinzufügen
set PATH=%PATH%;"%CD%"

REM x86 oder x64?
REM Pfadangabe brauchen wir nicht mehr, wir  stehen schon im Programmverzeichnis
@If Defined ProgramFiles(x86) (
    start "TC8 x64" totalcmd64.exe
) else (
    start "TC8 x32" totalcmd.exe
)

Grüße,
Karl
--
P.S.:
<Besserwisser ein>

Hallo, Camarillo.

Dein Befehl wird nicht funktionieren, weil der start-Befehl davon ausgeht, dass das erste Paar doppelter Anführungszeichen den Fenstertitel bezeichnen soll. Also müßtest du wenigstens jeweils einen leeren Titel "" mitgeben, da der eigentliche Befehl in doppelten Anführungszeichen steht.

Code: Select all

@If Defined ProgramFiles(x86) (
   start "" "D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\totalcmd64.exe"
) else (
   start "" "D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\totalcmd.exe"
)
Grüße,
Karl

</Besserwisser aus>
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
Camarillo
Junior Member
Junior Member
Posts: 66
Joined: 2011-12-20, 13:10 UTC
Location: Germany

Post by *Camarillo »

karlchen wrote:<Besserwisser ein>
Hallo Karlchen, das war keine Besserwisserei, denn wo du recht hast , hast du recht. :lol:
Habs nämlich vorher nicht getestet und mir auch nicht die Syntax angeschaut.
User avatar
tuska
Power Member
Power Member
Posts: 4064
Joined: 2007-05-21, 12:17 UTC

TC-Start.bat

Post by *tuska »

Hallo,
danke für die Antworten.

Bei der Lösung von Camarillo wird das DOS-Fenster geöffnet und mein Pfad aufgerufen, uzw. D:\Daten\Programme\Total Commander\TCD_USB-Stick\ - exit schließt das DOS-Fenster
Bei der Lösung von Karl erhalte ich im DOS-Fenster die Fehlermeldung: Ordner "D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\ " nicht gefunden. Drücken Sie eine beliebige Taste . . .

Leider habe ich mein Problem vermutlich nicht exakt beschrieben.
Ich möchte eine Batch-Datei, die den TC 8 in einem b e l i e b i g e n Ordner aufruft bzw. eine Batch-Datei auf einem USB-Stick.
Wenn ich von einem bereits installierten TC 8 die TcUsbRun.exe aufrufe, dann wird im Root-Verzeichnis eine starttc.exe erzeugt.
So wie die starttc.exe den TC 8 aufruft sollte die TC_Start.bat den TC 8 aufrufen.
Vielleicht gibt es so eine Lösung.
Ja, und sorry for OT.
Edit: Titel von TC-Start.bar auf TC-Start.bat korrigiert
Gruß,
Karl
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, Karl.

Hm. Jetzt wird es ein wenig kompliziert:
  • Das USB-Laufwerk kann je nach Rechner, an dem es angeschlossen wird, einen anderen Laufwerksbuchstaben zugewiesen bekommen.
    D.h. beim Aufruf der TC_Start.bat kennen wir den Laufwerksbuchstaben nicht, können ihn also auch im Script nicht fest benennen.
  • Der Pfad auf dem USB-Laufwerk soll auch veränderlich sein. Das ist aber gemein. Denn damit kennen wir also weder Laufwerksbuchstabe, noch Programmordner des Total Commanders beim Aufruf von TC_Start.bat. Das ist ein bißchen sehr wenig, um damit was anfangen zu können.
  • Die StartTC.exe kann beim Aufruf wenigstens feststellen, wie ihr aktuelles Laufwerk heißt.
    Desweiteren schreibt die Tc2Usb.exe (nicht TcbUsbRun.exe, die macht was völlig anderes) beim Erzeugen der StartTC.exe im Wurzelverzeichnis des USB-Laufwerks den Programmpfad des portablen Total Commanders in die starttc.exe rein.
    Damit kennt die starttc.exe sowohl ihren eigenen Laufwerksbuchstaben, als auch den Programmordner des T.C. und hat damit alles, was sie braucht, um totalcmd.exe zu lokalisieren und zu starten.
    Leider erzeugt TC2Usb.exe z.Z. nur eine portable 32-bit Installation, die 64-bit Bestandteile werden nicht berücksichtigt. Und starttc.exe enthält auch nur den Namen totalcmd.exe, nicht totalcmd64.exe.
Kurz und gut:
Um dein Ziel zu ereichen, darfst du dein Script nicht schlechter stellen, als TC2USB.exe die starttc.exe:
  • TC_Start.bat muß im Wurzelverzeichnis das USB-Laufwerkes liegen. Dann kann es beim Aufruf seinen aktuellen Laufwerksbuchstaben ermitteln.
  • Der Programmordner auf dem USB-Stick muß immer derselbe sein. Dann kann TC_Start.bat aus dem ermittelten Laufwerksbuchstaben und dem bekannten, hart verdrahteten Ordnernamen das Total Commander Programmverzeichnis zusammenbasteln.
  • Danach kann TC_Start mit dem IsDefined feststellen, ob es totalcmd.exe oder totalcmd64.exe starten muß, und das entsprechend tun.
Grüße,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 11.50 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
tuska
Power Member
Power Member
Posts: 4064
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Karl,
danke für Deine ausführliche Antwort.

Wenn ich meine portable TC Installation im Ordner ...\TC32-64USB verschiebe, zB von D:\Daten\... nach D:\TC32-64USB und auf dem USB-Stick, zB ist dort der Buchstabe H:\TC32-64USB und dort fix belasse, könnte man dann die Batch-Datei auf diesen Zweck so ändern?
In diesem Fall wäre nur mehr der Laufwerksbuchstabe unbekannt.
Bitte nochmals um Prüfung, da ich mich leider mangels Programmierkenntnisse außerstande sehe selbst diese Batch-Datei so zu gestalten, daß sie aus meiner Sicht voll "portabel" zu der portablen TC-Installation ist. Danke für die Bemühungen!
Gruß,
Karl
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Re: TC-Start.bat

Post by *HolgerK »

tuska wrote:Ich möchte eine Batch-Datei, die den TC 8 in einem b e l i e b i g e n Ordner aufruft bzw. eine Batch-Datei auf einem USB-Stick.
Wenn ich von einem bereits installierten TC 8 die TcUsbRun.exe aufrufe, dann wird im Root-Verzeichnis eine starttc.exe erzeugt.
So wie die starttc.exe den TC 8 aufruft sollte die TC_Start.bat den TC 8 aufrufen.
StartTC.cmd wrote:@IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" (start %CD%\Tools\TotalCmd\TOTALCMD64.EXE) else (start %CD%\Tools\TotalCmd\TOTALCMD.EXE)
"\Tools\TotalCmd" Verzeichnispfad anpassen an die portable Installation!

Gruß
Holger
Post Reply