tt-web

Virtuelle Pfade und Umgebungsvariablen für mobile Anwendungen

Hallo,
ich habe auf einer Externen Festplatte eine komplette Latex-Umgebung, incl. Ghostscript, Ghostview, Texmaker und Aspell untergebracht. Über ein kleines Init-Script werden für die Umgebung allerlei Pfade gesetzt. Mein Problem ist, dass ich zum Beispiel "The Gimp" den Pfad zur Ghostscript-Umgebung angeben muss, damit er eps/ps Dateien verarbeiten kann. Nun möchte ich nicht einfach nur z:/programme/gs... angeben (ich habe die Festplatte extra schon als Laufwerk z angegeben, um sicher zu sein, dass der Pfad an jedem Rechner gleich bleibt), sondern ich möchte die Umbebungsvariable für the gimp relativ setzen.

Im Moment sieht das noch so aus:

GS_PROG=z:\Programme\latexbackend\gs\gs8.61\bin\gswin32c.exe

ich möchte aber, dass es garantiert immer funktioniert und lieber etwas im Stil von:

GS_PROG=%~dp0gs\gs\gs8.61\bin\gswin32c.exe

machen. Dieser Ansatz funktioniert aber nicht.

Die init.bat für meine Latexumgebung setzt folgenden Pfad:

set path=%~dp0texmf\miktex\bin;%path%

Weiter unten wird dann Ghostview der Pfad zu Ghostscript mitgeteilt:

echo GhostscriptEXE=%~dp0gs\gs%GS_VERSION%\bin\gswin32c.exe>> "%
~dp0Ghostgum\gsview\gsview32.ini"

Die Umgebungsvariable "GS_PROG" steht in der Datei default.env, die von Gimp beim Start aufgerufen wird. Ich vermute, dass ich den variablen Pfad "%~dp0gs" schon vorher mittels batchscript (wie auch immer) erstellen muss.... Wie mache ich soetwas?
Vielen Dank für die Hilfe
Thomas
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 79293

Url: https://administrator.de/forum/virtuelle-pfade-und-umgebungsvariablen-fuer-mobile-anwendungen-79293.html

Ausgedruckt am: 14.05.2025 um 17:05 Uhr

miniversum
miniversum 28.01.2008 um 10:38:36 Uhr
Goto Top
Gib mal in der cmd den befehl set ein. dann siehst du die Umgebungsvariabeln die existieren.
Dann siehst du das Du es z.B. so versuchen kannst:
GS_PROG=%ProgramFiles%\latexbackend\gs\gs8.61\bin\gswin32c.exe

miniversum
tt-web
tt-web 28.01.2008 um 11:08:58 Uhr
Goto Top
Gib mal in der cmd den befehl set ein. dann
siehst du die Umgebungsvariabeln die
existieren.
Dann siehst du das Du es z.B. so versuchen
kannst:
GS_PROG=%ProgramFiles%\latexbackend\gs\gs8.61\bin\gswin32c.exe


miniversum

Hallo,
%ProgramFiles% würde aber auf den Windows Ordner Programme verweisen. Die Daten liegen aber auf einer externen Festplatte bzw. einem USB-Stick. Der Ordner heisst nur aus Gründen der Übersichtlichkeit Programme.

Wenn ich also den Stick bzw. die Platte anhänge lasse ich die init.bat laufen. Diese erzeugt mir alle möglichen Registryeinträge und Pfade, die dann den Programmen den Pfad für Ghostscript und Co. mitteilen. Wenn ich fertig bin lösche ich diese wieder, so dass keine Installation (local) von GS,GV usw. notwendig ist.

Dieses Prinzip will ich auch für GIMPportable nutzen. Hierfür muss ich aber dem Programm mitteilen, wo es die Daten finden kann. Da der Stick auf jedem Rechner aber einen anderen Laufwerksbuchstaben bekommt ist es nicht zweckmäßig nach dem Schema "x:\pfad\prog.exe" vorzugehen. Es müsste eben etwas virtuelles sein. Soetwas wie ein Zeiger auf den korrekten Pfad, der beim Aufruf gesetzt wird.... anders kann ich es leider aufgrund mangelnder Fachausdrücke nicht beschreiben. Hoffentlich hilft das weiter.

Liebe Grüße Thomas
miniversum
miniversum 28.01.2008 um 12:20:12 Uhr
Goto Top
Ok.
Und wen du das %~dp0 durch %cd% ersetzt?
tt-web
tt-web 28.01.2008 um 12:43:32 Uhr
Goto Top
Ok.
Und wen du das %~dp0 durch %cd% ersetzt?

Mal ganz blöd gefragt: einfach nur %cd%? woher soll denn die applikation dann den pfad kennen? Oder hab ich jetzt nen Denkfehler?

Gruß Thomas
bastla
bastla 28.01.2008 um 13:36:46 Uhr
Goto Top
Hallo tt-web und willkommen im Forum!

Nur mal so als Überlegung: Die relativen Pfade bleiben ja gleich (und absolut gesehen sollte sich auch nur der Laufwerksbuchstabe ändern) - richtig?

Ließe sich dann nicht in die "default.env" eine Pfadangabe der Art "\Programme\latexbackend\gs\" (oder auch, noch flexibler, "..\..\gs\") unterbringen? Dann müsstest Du auch gar nicht erst daran denken, ev mit "sed" alle "Z:\" durch "X:\" zu ersetzen ...

Grüße
bastla
miniversum
miniversum 28.01.2008 um 16:45:55 Uhr
Goto Top
in %CD% steht der aktuelle Laufwerksbuchstabe und der Pfad.