Befehl: set

  SET zeigt, setzt oder löscht Umgebungsvariablen.
  SET ist ein BATCH-DATEI / AUTOEXEC.BAT / FDAUTO.BAT- Befehl.
  Er kann aber auch in der Kommandozeile verwendet werden.

Syntax:

  SET [/C] [/I] [/P] [/E] [/U] [VARIABLE=[ZEICHENKETTE]]
  SET [/?]
  VARIABLE      Spezifiziert den Namen der Umgebungsvariablen.
  ZEICHENKETTE  Spezifiziert eine Zeichenkette, die der Variable
                zugewiesen werden soll.
  * Falls keine Zeichenkette spezifiziert wird, wird die Variable aus
  der Umgebung gelöscht.
  Geben Sie SET ohne Parameter ein, um die aktuellen Umgebungsvariablen
  anzuzeigen.
  Geben Sie SET VARIABLE ein, um den Wert der Variablen anzuzeigen.

Optionen:

  /C  erzwingt die Einhaltung der Gross-/Kleinschreibung des Variablen-
      namens; die Voreinstellung ist, den Variablennamen in Großbuch-
      staben zu übernehmen, falls sie nicht bereits in der Umgebung 
      vorhanden ist. Andernfalls wird die Gross-/Kleinschreibung beibe-
      halten (funktioniert nur bei neu gesetzten Variablen).
  /I: wurde vorübergehend in den SET-Befehl aufgenommen, um eine einfache
      Möglichkeit zu bieten, die aktuelle Größe des Umgebungs-Segments
      anzuzeigen, da dies einer der am häufigsten gemeldeten, aber nicht
      reproduzierbaren Fehler ist. Sobald diese Option gefunden wurde,
      wird die gesamte restliche Befehlszeile ignoriert.
  /P  Fordert den Benutzer zu einer Eingabe auf und weist diese Benutzer-
      eingabe der Variablen zu. Erfolgt keine Eingabe, also nur ein
      Tippen auf ENTER, wird der Variablen ein leerer Wert zugewiesen,
      der die Variable aus dem Umgebung entfernt.
  /E  Es wird ein Befehl ausgeführt und die erste Zeile der Ausgabe 
      des Befehls wird in einer Variablen gespeichert.
  /U  wandelt den Wert einer Variablen in Großbuchstaben um.
  /?  Zeigt die Hilfe

Kommentar:

  Die Varianten beziehen sich auf den Abschnitt "Syntax".
  Die Variante ohne Argument zeigt ALLE aktuell definierten
  UMGEBUNGSVARIABLEN im Format:
  Name '=' "Wert" (ohne Leerzeichen vor oder nach dem Gleichheitszeichen)
  an.
  Die Variante "set variable=string" weist der angegebenen Variable einen
  neuen Wert "string" zu. Wenn die Variable bereits existiert, wird der
  alte Wert OHNE VORANKÜNDIGUNG ÜBERSCHRIEBEN; andernfalls wird er neu
  erstellt. Bitte beachten Sie dies, dies zu Verwirrung führen kann!

  Der Befehl "set variable=" sollte in einer Batchdatei VOR und NACH der
  letzten Ausführung von "set variable=string" stehen, um zu verhindern,
  dass falsche Werte für "variable" in einer anderen, schlecht geschrie-
  benen Batchdatei verwendet werden. SET kann auch außerhalb einer Batch-
  datei verwendet werden. Bitte beachten Sie, dass diese Befehle ver-
  gessen werden, sobald Sie den Rechner herunterfahren!
  UMGEBUNGSVARIABLEN sind sehr hilfreich. Sobald Sie gesetzt sind, können
  Sie sie z.B. für lange Pfade / Texte verwenden, wie z.B.:
  set DRV=C:\FREEDOS\BIN\
  Sie können dann z.B.: %DRV%defrag d: statt: C:\FREEDOS\BIN\defrag d:
  eingeben, oder:
  %DRV%edit anstelle von C:\FREEDOS\BIN\edit usw. - und das mit nur
  einer Kommandozeile in der AUTOEXEC.BAT /FDAUTO.BAT
  SET kann auch außerhalb einer Batch-Datei verwendet werden.
  SET ist ein interner Befehl, d.h. der Befehl ist in der command.com
  enthalten. Es wird zur Ausführung des Befehls kein zusätzlicher 
  Befehl (Datei) benötigt.

Beispiel:

  In einer .BAT Datei / AUTOEXEC.BAT:
    set            Zeigt eine Liste der aktuell gesetzten Umgebungs-
                   variablen an.
    set DRIVE=Z:\  Setzt die Umgebungsvariable "DRIVE" auf den ange-
                   gegebenen Wert "Z:\".
    set DRIVE      Zeigt den Wert der Variablen "DRIVE" (hier: "Z:\")
    %DRIVE%xy.bat (oder xy.exe) führt den Befehl:
                   "Z:\xy.bat" oder "Z:\xy.exe" aus.
                   Heißt: %DRIVE% repräsentiert in diesem
                   Fall den Wert: "Z:\".
    set DRIVE=C:\  Ändert "Z:\" zu "C:\". "Z:\" wird VERGESSEN!
    set DRIVE=     Entfernt die Variable "DRIVE" komplett aus der Umge-
                   bungsliste (da kein Wert gesetzt ist), wodurch "DRIVE"
                   und "C:\" auch vergessen werden.
                   Dieser Befehl kann gefährliche Auswirkungen haben!

    @ECHO off
    @ECHO Bitte geben Sie einen Laufwerksbuchstaben ein:
    set /P DRV=    (Tippen Sie Y:\)
    @ECHO Sie haben gewählt: %DRV%
                   (zeigt Sie haben gewählt: Y:\)
    @ECHO off

Siehe auch:

  autoexec.bat/fdauto.bat
  Batch Dateien
  command.com/freecom
  config.sys/fdconfig.sys
  Umgebungsvariablen
  set (config.sys command)

  Copyright © 2003 Robert Platt, aktualisiert 2007, 2022
  und 2024 von W. Spiegl.

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