Umgebungsvariablen-Banner

Windows: Eigene Umgebungsvariablen setzen und verwenden

Umgebungsvariablen in Windows dienen häufig dem schnellen Auslesen von Eigenschaften (siehe $env:COMPUTERNAME in Powershell oder %COMPUTERNAME% in CMD). Im Fall von PATH  können Programmverzeichnisse zum Ausführungspfad hinzugefügt werden.  Dadurch kann man im Ausführen-Dialog (    + R ) und in Konsolen beispielsweise direkt regedit, notepad oder explorer eingeben und die Programme werden gefunden und gestartet, obwohl sie sich in unterschiedlichen Verzeichnissen befinden. Will man dieses System für eigene Anwendungsfälle anpassen und nutzen, geht das relativ schnell. In diesem Beitrag werden Beispiele und Anwendungsmöglichkeiten beschrieben.

Anwendungsfälle

Umgebungsvariablen kann man sich zunutze machen, um eigene Aliase zu schreiben und auf benutzerdefinierte Verzeichnisse zu verweisen. So kann man beispielsweise den Pfad zum eigenen Projekte-Ordner über %PROJEKTE%  erreichbar machen oder bestimmte Compilerversionen von Python einzeln aufrufbar machen, ohne jedes mal den vollständigen Pfad angeben zu müssen.

Konkrete Anwendungsbeispiele

Python 2 und Python 3

Umgebungsvariable
Beispiel für eine eigene Umgebungsvariable
  • es gibt eine Python-Datei HelloWorld.py, die in Python 3 geschrieben wurde
  • die python.exe, auf die in PATH verwiesen wird, ist aber Python 2
  • nun müsste man erst herausfinden, in welchem Verzeichnis sich die python.exe für Python 3 befindet und sie direkt dort aufrufen
  • tritt dieses Problem häufiger auf, geht viel Zeit für die Suche verloren
  • entweder ersetzt man in PATH Python 2 durch Python 3, was aber nur das Problem umdreht, oder man erzeugt eigene Umgebungsvariablen für diesen Fall
  • diese Variablen kann man beispielsweise PYTHON2  und PYTHON3  nennen
  • als Pfad kann man entweder direkt die python.exe hinterlegen oder nur das jeweilige Verzeichnis der python.exe (siehe Bild)
  • möchte man nächstes mal eine HelloWorld.py ausführen, kann man das wie folgt tun:
    • cmd: %PYTHON2%\python.exe HelloWorld.py
    • ps ohne Autovervolltändigung: & $env:PYTHON2\python.exe .\HelloWorld.py
    • ps mit Autovervollständigung: $env:PYTHON2\  dann TAB
  • in allen Fällen funktioniert die Autovervollständigung und die Variable kann direkt in den Pfad umgewandelt werden, weshalb es bereits ausreicht, nur die Variablennamen PYTHON2  und PYTHON3 zu kennen

Projekte-Ordner

Umgebungsvariable in Explorer
Eine Umgebungsvariable kann in Such- und Pfadleisten direkt als Ordnernamensersatz verwendet werden
  • es gibt den tief verschachtelten Ordner X:\Dokumente\Sonstiges\Arbeit\2017\Projekte
  • dieser Ordner wird häufiger verwendet und auf dem Desktop ist eine Verknüpfung zum Ordner vorhanden
  • in dem Ordner muss auch häufiger mit der Konsole (Powershell oder CMD) gearbeitet werden
  • dafür muss man entweder erst den Ordner öffnen und von dort ein Terminal starten
  • oder ein Terminal öffnen und von dort zum Ordner navigieren
  • mit einer direkt auf den Ordner verweisenden Umgebungsvariable, zum Beispiel PROJEKTE, spart man sich die Zwischenschritte:
    • cmd: cd %PROJEKTE%
    • ps: cd $env:PROJEKTE
    • Im Explorer und Suchleisten direkt verwendbar: %PROJEKTE%
  • im Bild ist ein Beispiel mit der zuvor erwähnten PYTHON-Umgebungsvariable zu sehen

Zugriff auf Umgebungsvariablen

Es gibt mehrere Möglichkeiten, für den Zugriff und die Betrachtung von Umgebungsvariablen:

  • cmd.exe:
    • Auflisten mittels env
    • Zugriff mittels %nameDerVariable%
  • Powershell:
    • Auflisten mittels env
    • Auflisten mittels Get-ChildItem Env:
    • Zugriff mittels $env:nameDerVariable
  • Explorer und Suchfenster:
    • Direktzugriff möglich durch das Eintippen von %nameDerVariable%
    • Ist in der Variable ein Programmpfad hinterlegt, wird dieses direkt gestartet
    • Ist die Variable ein Ordner, wird der Ordner geöffnet
  • Systemeinstellungen (Windows 10):
    •    + Pause dann auf Erweiterte Systemeinstellungen, dann auf Umgebungsvariablen
    • Alternativ im Startmenü nach Umgebungsvariablen suchen
    • Folgendes ausführen (  + R): rundll32.exe sysdm.cpl,EditEnvironmentVariables

Eigene Umgebungsvariablen setzen

Umgebungsvariablen lassen sich in cmd mit SET und in PowerShell beispielsweise mit [System.Environment]::SetEnvironmentVariable("nameDerVariable", "wertDerVariable")  festlegen. Diese sind jedoch nur in der aktuellen Terminal-Sitzung gültig. Öffnet man ein anderes PowerShell- oder CMD-Fenster, kann man dort nicht auf die neue Variable zugreifen.  Für Permanenz kann man eine Profil-Datei verwenden, ähnlich wie .bash_profile bei einigen Linux-Versionen.

Wesentlich einfacher ist es jedoch, die Umgebungsvariablen direkt in den Systemeinstellungen zu bearbeiten. Diese sind auch ohne Kunstgriffe permanent abgespeichert und global verfügbar. Das geht, wie bereits beschrieben, mit einer Suche nach Umgebungsvariablen im Startmenü oder in den Einstellungen. Im Bild wird das Anlegen einer neuen Umgebungsvariable beispielhaft durchgespielt.

Umgebungsvariable erstellen
Beispiel für das Anlegen einer neuen Umgebungsvariable

Es ist möglich, dass die Variable anfangs nicht verfügbar ist. Da hilft dann ein erneutes Einloggen oder ein Neustart, um sie global verfügbar zu machen.


Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.