Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: cmd.exe: Umgebungsvariablen
AUTOR BEITRAG
pennywise

RANG Deckschrubber

#1 - 06.08 13:44

Hi zusammen,

ich hab irgendwie ein Problem mit den Windows-Umgebungsvariablen. Mit "set FOO = BAR" kann ich die Variable FOO mit dem Wert BAR belegen. Mit "set FOO" kann ich den Inhalt auslesen. Und mit "%FOO%" sollte ich auch drauf zugreifen koennen. Letzteres geht aber nicht. Warum?

C:\temp\> set WINRAR_HOME = C:\Program Files\WinRar\WinRAR Unplugged

C:\temp\> set WINRAR_HOME
WINRAR_HOME = C:\Program Files\WinRar\WinRAR Unplugged

C:\temp\>echo %WINRAR_HOME%
%WINRAR_HOME%


Es geht aber z.B. bei "echo %PATH%", das gibt mir den gesamten PATH aus. Ich versteh erstmal nich warums nicht geht ...
vaest´ark // patrick *circle of confusion*

RANG Master of Clanintern

#2 - 06.08 14:03

es könnte sein, das du " " um deinen pfad schreiben musst, da dieser leerzeichen enthält.

ansonsten weiss ichs auch nicht. bei mir gehts jedenfalls.
pennywise

RANG Deckschrubber

#3 - 06.08 14:07

naja, microsoft sagt selber das whitespaces kein Problem sind [1].

Interessanterweise gehts wenn ich den Unterstrich weglasse (also WINRARHOME). Komischerweise geht aber ANT_HOME ... komisch, komisch...

[1]: technet.microsoft.com/en-gb/library/bb490954.aspx: ... You can use most characters as variable values, including white space. ...
tiefseetaucher helmi

RANG Deckschrubber

#4 - 07.08 06:59

C:\Program Files\WinRar\WinRAR Unplugged


setz das einfach in Anführungszeichen. Nur weil M sagt, dass es whitespaces kann, heißt das nicht, dass du das ohne anführungszeichen kannst.
pennywise

RANG Deckschrubber

#5 - 07.08 14:53

Nun, schoen. Warum geht dann aber:

set WINRARHOME = C:\Program Files\WinRar\WinRAR Unplugged

und

set WINRAR_HOME = C:\Program Files\WinRar\WinRAR Unplugged

geht nicht? Soviel zu den Anfuehrungszeichen.
tiefseetaucher helmi

RANG Deckschrubber

#6 - 11.08 07:18

wegen dem einen sonderzeichen?

hast du das überhaupt schon probiert, oder bist einfach strickt gegen jeden lösungsansatz?

set WINRAR_HOME = "C:\Program Files\WinRar\WinRAR Unplugged"
pennywise

RANG Deckschrubber

#7 - 11.08 18:16

Ich bin nicht gegen jeden Loesungansatz. Sollte dieser Gedanke aufgekommen sein, aufgrund meiner Antworten, dann bitte ich das zu entschuldigen.

Ich glaube inzwischen eher das irgendwas an meiner Kommandozeile faul ist, weil inzwischen auch wieder der Versuch aus Beitrag 1 geht:

>set WINRAR_HOME=C:\Program Files\WinRar\WinRAR Unplugged
>echo %WINRAR_HOME%
C:\Program Files\WinRar\WinRAR Unplugged
>set WINRAR_HOME
WINRAR_HOME=C:\Program Files\WinRar\WinRAR Unplugged

Mit Anfuehrungszeichen dasselbe, nur das der Pfad halt in Anfuehrungszeichen steht. Nur um meine Abneigung gegen Anfuehrungszeichen zu erklaeren:

1) Microsoft sagt das Leerzeichen auch so gehen
2) ant.apache.org/manual/install.html#installing :

...
Ensure that ANT_HOME and JAVA_HOME variables are set, and that they do not have quotes (either ' or ") and they do not end with \ or with /.
...

das hat erstmal direkt nix mit WINRAR_HOME zu tun, sondern eher mit meiner persoenlichen Struktur. Ist jetzt eher kein logisches Argument, ausser 'ich will keine Leerzeichen' :) Insofern hast du recht, das ich gegen diesen Loesungansatz bin :)
vaest´ark // patrick *circle of confusion*

RANG Master of Clanintern

#8 - 11.08 19:28

du musst die nicht unbedingt per kommandozeile setzen. ich geh davon aus, dass das permanent sein soll. trag die dazu einfach bei den system- bzw. benutzervariablen ein (systemeigenschaften -> erweitert -> umgebungsvariablen).

ansonsten ist bei dir wirklich was kaputt, bei mir (xp sp3), funktioniert sowohl
code:

C:\>set test=c:\pfad mit leerzeichen

C:\>echo %test%
c:\pfad mit leerzeichen
als auch
code:
C:\>set t_e_s_t=c:\pfad mit leerzeichen

C:\>echo %t_e_s_t%
c:\pfad mit leerzeichen