gleiche Environment Variable mehrfach?

21/09/2007 - 10:54 von joerg | Report spam
Hallo,

ich habe ein interessantes Problem mit dem cmd.exe von Windows 2000.

Ich habe folgendes CMD-Skript:

=for /f "tokens=* delims=/" %%A in ('cd') do set CURRENT_DIR=%%A

SET PATH=.;%CURRENT_DIR%;%SystemRoot%;%SystemRoot%\system32
echo %PATH%
SET

Wenn ich es ausführe wird der Pfad korrekt gesetzt und mit echo auch wie
erwartet
ausgegeben. Der Aufruf von SET ohne Parameter zeigt das Environment an.

Nun kommt es unter bestimmten Umstànden (z.B. wenn das Skript über gmake
gestartet wird) aber vor, dass die Ausgabe von SET zwei Umgebungsvariablen
mit dem Namen PATH, aber unterschiedlichem Inhalt anzeigt.
(Der Name PATH ist beide Male komplett gross geschrieben, sie unterscheiden
sich wirklich nur im Inhalt.)

Ich bin auf das Problem gestossen, weil bei Programmen, die weiter hinten im
Skript
gestartet werden der Inhalt von PATH plötzlich wieder der alte ist ...

Ich konnte den Effekt auch mit anderen Variablen (HOME, HOMEDRIVE ...),
auch SETLOCAL/ENDLOCAL hinzufügen/weglassen àndert nichts

Hat jemand eine Idee was da vor sich geht? Ich dachte bisher, dass
Umgebungsvariablen eindeutig wàren ...

Vielen Dank und Gruss
Jörg
 

Lesen sie die antworten

#1 Robert Pieroth [MVP]
22/09/2007 - 12:54 | Warnen spam
"joerg" schrieb
Hat jemand eine Idee was da vor sich geht? Ich dachte bisher, dass
Umgebungsvariablen eindeutig wàren ...



Hi Jörg,

zum Einen können die Variablen lokal für das einzelne CMD-Fenster
(Setlocal) oder systemweit gesetzt sein, wie Du schon gesehen hast.

Aber weiterhin können benutzerindividuelle Variable existieren und
Variable für das System. Möglicherweise liegt hier der Knackpunkt bei Dir.

Viele Grüße
Robert Pieroth
http://www.faq-o-matic.net
http://www.edv-buchversand.de/mspre...id=ms-5604
https://mvp.support.microsoft.com/profile4FC01B-D493-4B7E-8FD1-A0A5B32BFF0A

Ähnliche fragen