Wie TC den Ort der INI-Datei ermittelt: Unterschied zwischen den Versionen

Aus TCWikide
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Einführung hinzugefügt. Zahlen entfernt in Namen der Abschnitte.)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOEDITSECTION__
Auf dieser Seite handelt es sich um '''wie Total Commander den Ort der INI-Datei ermittelt'''.


== 1. Kommandozeilenparameter==
== Kommandozeilenparameter ==


Wenn man Total Commander mit dem Kommandozeilenparameter '''/i=''', '''/f=''' oder beiden startet, so wird die angebene ini-Datei benutzt, wobei '''/i=''' den Ort und Namen der '''wincmd.ini''' und '''/f=''' den Ort und Namen der '''wcx_ftp.ini''' festlegen:
Wenn man Total Commander mit dem Kommandozeilenparameter '''/i=''', '''/f=''' oder beiden startet, so wird die angebene ini-Datei benutzt, wobei '''/i=''' den Ort und Namen der '''wincmd.ini''' und '''/f=''' den Ort und Namen der '''wcx_ftp.ini''' festlegen:
Zeile 7: Zeile 7:
  c:\totalcmd\totalcmd.exe /i=c:\eigene Dateien\meine.ini /f=d:\download\FTP.ini
  c:\totalcmd\totalcmd.exe /i=c:\eigene Dateien\meine.ini /f=d:\download\FTP.ini


würde also den Total Commander mit der 'meine.ini' als '''wincmd.ini''' und 'FTP.ini' als '''wcx_ftp.ini''' starten. Auf diese Weise kann man den TC auch dazu bringen, die FTP-Einstellungen auch in der Wincmd.ini zu speichern z.b.:
würde also den Total Commander mit der 'meine.ini' als '''wincmd.ini''' und 'FTP.ini' als '''wcx_ftp.ini''' starten.  


  c:\totalcmd\totalcmd.exe /i=c:\eigene Dateien\meine.ini /f==c:\eigene Dateien\meine.ini  
 
Auf diese Weise kann man den TC dazu bringen, die FTP-Einstellungen nicht in einer separaten Datei, sondern mit in die '''wincmd.ini''' zu speichern:
 
  c:\totalcmd\totalcmd.exe /i=c:\eigene Dateien\meine.ini /f=c:\eigene Dateien\meine.ini  


Diese Kommandozeilenparameter 'überschreiben' alle anderen Einstellunge bezüglich der Ini-Dateien.
Diese Kommandozeilenparameter 'überschreiben' alle anderen Einstellunge bezüglich der Ini-Dateien.
Zeile 19: Zeile 22:
|}
|}


 
== UseIniInProgramDir ==
 
== 2. UseIniInProgramDir ==
 


Wird der Total Commander ohne Kommandozeilenparameter gestartet, prüft er zunächst, ob sich im Programmverzeichnis eine Datei "wincmd.ini" mit dem Schlüssel [[Ini-Einstellungen#UseIniInProgramDir=0|"UseIniInProgramDir"]] im Abschnitt [Configuration] befindet, dessen Wert größer als Null ist.  
Wird der Total Commander ohne Kommandozeilenparameter gestartet, prüft er zunächst, ob sich im Programmverzeichnis eine Datei "wincmd.ini" mit dem Schlüssel [[Ini-Einstellungen#UseIniInProgramDir=0|"UseIniInProgramDir"]] im Abschnitt [Configuration] befindet, dessen Wert größer als Null ist.  
Zeile 49: Zeile 49:
|}
|}


 
== Einstellungen in der Registry ==
== 3. Einstellungen in der Registry ==


Wenn der Total Commander installiert wird, dann legt er folgende Schlüssel an:
Wenn der Total Commander installiert wird, dann legt er folgende Schlüssel an:
Zeile 74: Zeile 73:
angelegt.  
angelegt.  


Wenn der TC ohne [[Wie_TC_den_Ort_der_INI-Datei_ermittelt#Kommandozeilenparameter |Kommandozeilenparameter]] gestartet wird und der Eintrag [[Wie_TC_den_Ort_der_INI-Datei_ermittelt#2._UseIniInProgramDir|UseIniInProgramDir]] nichts anderes bestimmt, dann wird zunächst im  HKEY_CURRENT_USER nachgesehen, ob dort ein Eintrag für den Ort der Ini-dateien existiert. Wenn dies der Fall ist, dann wird dieser Eintrag benutzt.
Wenn der TC ohne [[Wie_TC_den_Ort_der_INI-Datei_ermittelt#1. Kommandozeilenparameter |Kommandozeilenparameter]] gestartet wird und der Eintrag [[Wie_TC_den_Ort_der_INI-Datei_ermittelt#2._UseIniInProgramDir|UseIniInProgramDir]] nichts anderes bestimmt, dann wird zunächst im  HKEY_CURRENT_USER nachgesehen, ob dort ein Eintrag für den Ort der Ini-dateien existiert. Wenn dies der Fall ist, dann wird dieser Eintrag benutzt.
Wenn dort kein Eintrag existiert, dann wird im HKEY_LOCAL_MACHINE nachgesehen, ob dort ein Eintrag existiert und dieser ggf. benutzt.
Wenn dort kein Eintrag existiert, dann wird im HKEY_LOCAL_MACHINE nachgesehen, ob dort ein Eintrag existiert und dieser ggf. benutzt.


Zeile 85: Zeile 84:
|}
|}


== 4. Keine Voreinstellung ==
== Keine Voreinstellung ==


Wenn weder Kommandozeilenparameter, UseIniInProgramdir noch ein Registryeintrag den Ort der Ini-Datei vorgeben, werden die ini-Dateien im <font color="green">'''%windir%'''</font> - meist c:\windows - benutzt bzw. erstellt. Sollte man für dieses Verzeichnis keine Schreibrechte besitzen, ist es sinnvoll, den Ort der ini-Datei nachträglich zu verändern (siehe 3. Einstellungen in der Registry) .
Wenn weder Kommandozeilenparameter, UseIniInProgramdir noch ein Registryeintrag den Ort der Ini-Datei vorgeben, werden die ini-Dateien im <font color="green">'''%windir%'''</font> - meist c:\windows - benutzt bzw. erstellt. Sollte man für dieses Verzeichnis keine Schreibrechte besitzen, ist es sinnvoll, den Ort der ini-Datei nachträglich zu verändern (siehe 3. Einstellungen in der Registry) .


== 5. %Commander_path% ==
== %Commander_path% ==


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 <font size="4">'''.\'''</font> der vom TC genauso ausgewertet wird, so dass  
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 <font size="4">'''.\'''</font> der vom TC genauso ausgewertet wird, so dass  

Aktuelle Version vom 19. Februar 2011, 11:55 Uhr

Auf dieser Seite handelt es sich um wie Total Commander den Ort der INI-Datei ermittelt.

Kommandozeilenparameter

Wenn man Total Commander mit dem Kommandozeilenparameter /i=, /f= oder beiden startet, so wird die angebene ini-Datei benutzt, wobei /i= den Ort und Namen der wincmd.ini und /f= den Ort und Namen der wcx_ftp.ini festlegen:

c:\totalcmd\totalcmd.exe /i=c:\eigene Dateien\meine.ini /f=d:\download\FTP.ini

würde also den Total Commander mit der 'meine.ini' als wincmd.ini und 'FTP.ini' als wcx_ftp.ini starten.


Auf diese Weise kann man den TC dazu bringen, die FTP-Einstellungen nicht in einer separaten Datei, sondern mit in die wincmd.ini zu speichern:

c:\totalcmd\totalcmd.exe /i=c:\eigene Dateien\meine.ini /f=c:\eigene Dateien\meine.ini 

Diese Kommandozeilenparameter 'überschreiben' alle anderen Einstellunge bezüglich der Ini-Dateien.

Achtung: Wenn der übergebene Pfad unsinnig ist - z.B. auf ein CD-Rom Laufwerk weist oder einen nicht existierenden Laufwerksbuchstaben oder Pfad benutzt -, dann startet der Total Commander dennoch mit dieser Einstellung, aber Änderungen an der Ini-Datei sind dann natürlich nicht möglich.

Sollte jedoch nur die ini-Datei fehlen, so wird diese automatisch beim Start angelegt.

UseIniInProgramDir

Wird der Total Commander ohne Kommandozeilenparameter gestartet, prüft er zunächst, ob sich im Programmverzeichnis eine Datei "wincmd.ini" mit dem Schlüssel "UseIniInProgramDir" im Abschnitt [Configuration] befindet, dessen Wert größer als Null ist.

UseIniInProgramDir=1 Falls in der Registry keine anderen Angaben stehen, wird die die wcx_ftp.ini im %windir% - meist c:\Windows und die wincmd.ini im Programmverzeichnis benutzt.
UseIniInProgramDir=2 Falls in der Registry keine anderen Angaben stehen, wird die die wincmd.ini im %windir% - meist c:\Windows und die wcx_ftp.ini im Programmverzeichnis benutzt.
UseIniInProgramDir=3 Falls in der Registry keine anderen Angaben stehen, werden die wincmd.ini und die wcx_ftp.ini im Programmverzeichnis benutzt.
UseIniInProgramDir=4 Die Einstellungen in der Registry werden übergangen, und es werden die wincmd.ini und die wcx_ftp.ini im %windir% - meist c:\Windows - benutzt
UseIniInProgramDir=5 Die Einstellungen in der Registry werden übergangen, und es wird die die wcx_ftp.ini im %windir% - meist c:\Windows und die wincmd.ini im Programmverzeichnis benutzt.
UseIniInProgramDir=6 Die Einstellungen in der Registry werden übergangen, und es wird die die wincmd.ini im %windir% - meist c:\Windows und die wcx_ftp.ini im Programmverzeichnis benutzt.
UseIniInProgramDir=7 Die Einstellungen in der Registry werden übergangen, und es werden die wincmd.ini und die wcx_ftp.ini im Programmverzeichnis benutzt.

Einstellungen in der Registry

Wenn der Total Commander installiert wird, dann legt er folgende Schlüssel an:

HKEY_CURRENT_USER\Software\Ghisler\Total Commander

und

HKEY_LOCAL_MACHINE\SOFTWARE\Ghisler\Total Commander


Dort werden jeweils die Werte

InstallDir mit dem Pfad zum Total Commander Installationsverzeichnis
IniFileName mit dem Pfad und Namen zur wincmd.ini
FtpIniName mit dem Pfad und Namen zur wcx_ftp.ini

angelegt.

Wenn der TC ohne Kommandozeilenparameter gestartet wird und der Eintrag UseIniInProgramDir nichts anderes bestimmt, dann wird zunächst im HKEY_CURRENT_USER nachgesehen, ob dort ein Eintrag für den Ort der Ini-dateien existiert. Wenn dies der Fall ist, dann wird dieser Eintrag benutzt. Wenn dort kein Eintrag existiert, dann wird im HKEY_LOCAL_MACHINE nachgesehen, ob dort ein Eintrag existiert und dieser ggf. benutzt.

Man kann diese Einträge auch nachträglich ändern, entweder von Hand im Registrierungseditor oder mit einem der Registry-Filesystem Plugins. Oder aber mit dem separaten Programm inireloc.exe, verfügbar auf www.ghisler.com unter Zubehör.

Achtung: Wenn der Pfad unsinnig ist - z.B. auf ein CD-Rom Laufwerk weist oder einen nicht existierenden Laufwerksbuchstaben oder Pfad benutzt -, dann startet der Total Commander dennoch mit dieser Einstellung, aber Änderungen an der Ini-Datei sind dann natürlich nicht möglich.

Sollte jedoch nur die ini-Datei fehlen, so wird diese automatisch beim Start angelegt.

Keine Voreinstellung

Wenn weder Kommandozeilenparameter, UseIniInProgramdir noch ein Registryeintrag den Ort der Ini-Datei vorgeben, werden die ini-Dateien im %windir% - meist c:\windows - benutzt bzw. erstellt. Sollte man für dieses Verzeichnis keine Schreibrechte besitzen, ist es sinnvoll, den Ort der ini-Datei nachträglich zu verändern (siehe 3. Einstellungen in der Registry) .

%Commander_path%

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, so dass

Totalcmd.exe /i=%Commander_path%\wincmd.ini 

in der Regel die gleiche Ini-Datei benutzt wie

Totalcmd.exe /i=.\wincmd.ini. 

Es sei denn, der Pfad zum Programmverzeichnis enthält Leerzeichen. Dann benötigt die Angabe mit %Commander_path% umschließende Anführungszeichen um auf die gleiche Datei zu verweisen.


Bei den Angaben in der Registry hat die Verwendung %Commander_Path% allerdings fatale Folgen bei einem Update. Da beim Start des Installationsprogramms alle TC Instanzen geschlossen sein müssen, ist die %Commander_path% leer, was zuverlässig zum Absturz des Installationsprogramms führt.