Befehl: Environment Variables / Umgebungsvariablen

  Eine Umgebungsvariable ist kein direkter Befehl, aber ein Teil von
  COMMAND.COM / FREECOM.COM.

Syntax:

  - keine -

Optionen:

  - keine -

Kommentar:

  Umgebungsvariablen können mit dem SET-Befehl frei zugewiesen werden,
  z.B.:
    SET var1=tecxsgk;jsdgsdflfsjdflkasjf/lasjflas
  weist diesen Unsinn der Variablen var1 zu. 
  Danach kann der Wert der Variablen verwendet werden, indem man:
  %var1%, schreibt, also den Namen der Variablen
  ohne Leerzeichen und von zwei Prozentzeichen umschlossen.
  Warnung: Umgebungsvariablen werden vollständig in Klartext erweitert,
  bevor die Befehlszeile weiter analysiert wird. Wenn eine Variable eine
  ungerade Anzahl von Anführungszeichen enthält, muss die verbleibende
  Befehlszeile das schließende Anführungszeichen enthalten, um ordnungs-
  gemäß zu funktionieren. Siehe auch Folgendes:
    SET var=text del
    IF text==%var% GOTO Label
  Die zweite Zeile sieht uninteressant aus, aber sobald die Umgebungs-
  variable erweitert wurde, hat sich die Zeile wie folgt verwandelt:
    IF text==text del GOTO label
  was nicht mehr so lustig ist, weil der IF-Befehl nur noch den String
  text==text als Bedingung interpretiert, aber del GOTO label
  wird als Befehl ausgeführt.
  FreeCOM benutzt eine Reihe von UMGEBUNGSVARIABLEN für seine eigenen
  Zwecke.
  - COMSPEC: FreeCOM lädt bei Bedarf einige Informationen; diese Daten
    sind in der ausführbaren FreeCOM-Datei gespeichert. Der Wert dieser
    Umgebungsvariablen enthält den Dateinamen, den FreeCOM verwenden soll.
    Der Inhalt kann mit dem Befehl SET geändert werden.
  - DIRCMD: Der Benutzer kann Standardwerte für den DIR-Befehl festlegen. 
    Alle Optionen, die in DIRCMD angegeben werden, werden den eingegebenen
    Optionen vorangestellt, d.h. FreeCOM verhält sich so, als ob der Be-
    nutzer immer tippen würde:
      DIR %DIRCMD% «andere Argumente»
    Diese Variable muss mit dem SET Befehl geändert werden.
  - COPYCMD: Diese Variable enthält die Standardoptionen für den COPY-
    Befehl.
  - PROMPT: FreeCOM fordert den Benutzer auf, Befehle zur Ausführung 
    einzugeben die Eingabezeile (englisch: PROMPT) kann durch Ändern
    des Inhalts dieser Variablen angepasst werden.
    Diese Variable kann mit den Befehlen SET oder PROMPT geändert werden.
    Letzterer enthält eine detaillierte Beschreibung des Formats der
    PROMPT Zeichenfolge.
  - PFAD: Wenn FreeCOM einen externen Befehl ausführen soll und dieser
    keinen Pfad enthält, sucht FreeCOM in einer Reihe von Pfaden nach dem
    Befehl. Diese werden durch die Umgebungsvariable PATH aufgezählt.
    Diese Variable kann mit den Befehlen SET oder PATH geändert werden.
    Letzterer enthält eine detaillierte Beschreibung des Formats des
    Suchpfads.
  Es gibt eine Reihe automatischer Variablen, die nicht der oben genann-
  ten Syntax entsprechen und deren Inhalte automatisch generiert werden.
  Im Gegensatz zu normalen Variablen bestehen diese automatischen Vari-
  ablen aus genau zwei Zeichen, das erste ist ein einzelnes Prozent-
  zeichen und das zweite der Variablenbezeichner:
  - %?: wird auf den aktuellen ERRORLEVEL erweitert, welcher der
    Exit-Code des zuvor ausgeführte externe Befehls ist.
  - %0: nur in BATCH SCRIPTEN: ist der Name des aktuell ausgeführten
    Skripts.
  - %1 bis %9: nur in BATCH-SKRIPTEN: sind das erste bis neunte Argument,
    das an das aktuell ausgeführte Batch-Skript übergeben wird. Wenn dem
    Skript weniger als neun Argumente übergeben wurden, wird ein leerer
    String zurückgegeben. Um auf das zehnte Argument zuzugreifen, verwen-
    den Sie bitte den SHIFT-Befehl.
  - FOR %v IN (...) DO «jeder Befehl»: %v darf einen beliebigen Buch-
    staben verwenden; der Befehl FOR erstellt eine neue Variable, die
    nach dem Schlüsselwort DO im «jeder Befehl» gültig ist.
  - %%: Ist keine echte Variable, sondern wird zu einem einzelnen
    Prozentzeichen erweitert.
  Da automatische Variablen nur ein Prozentzeichen haben, führt dies
  manchmal innerhalb des FOR-Befehls zu Verwirrungen, z.B. in:
    SET adam=eva
    FOR %a in (*.*) DO echo %adam% %a
    %adam wird interpretiert als [%a]dam.

Beispiel:

  SHELL=C:\FREEDOS\BIN\COMMAND.COM C:\FREEDOS\BIN /P=C:\FDAUTO.BAT
           /E:1024 OR:
  SHELLHIGH=C:\FREEDOS\BIN\COMMAND.COM C:\FREEDOS\BIN /P=C:\FDAUTO.BAT
           /E:1024
  /P       Lädt COMMAND.COM permanent
  /E:1024  Setzt die initiale Größe der Umgebungsvariablen auf 1024 Byte
           (Standardgröße ist 256 Bytes).
  Sobald die COMMAND.COM geladen ist, existiert dann die Umgebungsvari-
  able und Sie können sie via Kommandozeile oder Batchatei benutzen.
  z.B:
  set path=C:\FREEDOS\BIN, C:\
  prompt $p$g
  memory   Zeigt die Größe und den benutzen Speicher der Umgebungsvari-
  ablen.

Siehe auch:

  alias
  batch scripts
  cd/chdir
  command.com/freecom
  dirs
  errorlevel
  for
  history
  if
  mem
  memory
  path
  popd
  prompt
  pushd
  set
  shift

  Copyright © 2006, the FreeDOS command.com Team, an die FreeDOS
  Hilfe angepasst 2025 von W. Spiegl.

  Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
  Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.