set (Umgebungsvariable)

Zeigt Umgebungsvariablen für „cmd.exe“ an, legt sie fest oder entfernt sie. Bei Verwendung ohne Parameter zeigt set die aktuellen Umgebungsvariableneinstellungen an.

Hinweis

Dieser Befehl erfordert Befehlserweiterungen, welche standardmäßig aktiviert sind.

Der Befehl set kann auch mit verschiedenen Parametern an der Windows-Wiederherstellungskonsole ausgeführt werden. Weitere Informationen finden Sie unter Windows Recovery Environment (Windows Recovery Environment, WinRE).

Syntax

set [<variable>=[<string>]]
set [/p] <variable>=[<promptString>]
set /a <variable>=<expression>

Parameter

Parameter BESCHREIBUNG
<variable> Gibt die festzulegende oder zu ändernde Umgebungsvariable an.
<string> Gibt die Zeichenfolge an, die der angegebenen Umgebungsvariable zugeordnet werden soll.
/p Legt den Wert von <variable> auf eine vom Benutzer angegebene Eingabezeile fest.
<promptstring> Gibt eine Meldung an, die den Benutzer zur Eingabe auffordert. Dieser Parameter muss zusammen mit dem Parameter /p verwendet werden.
/a Legt <string> auf einen numerischen Ausdruck fest, der ausgewertet wird.
<expression> Gibt einen numerischen Ausdruck an.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Wenn Befehlserweiterungen aktiviert sind (standard) und Sie set unter Angabe eines Werts ausführen, werden alle Variablen angezeigt, die mit diesem Wert beginnen.

  • Die Zeichen <, >, |, & und ^ sind spezielle Zeichen für die Befehlsshell. Diesen muss ein Escapezeichen (^) vorangestellt werden, oder sie müssen in Anführungszeichen gesetzt werden, wenn sie in <string> verwendet werden (z. B. "StringContaining&Symbol"). Wenn Sie eine Zeichenfolge, die eines der Sonderzeichen enthält, in Anführungszeichen einschließen, werden diese als Teil des Werts der Umgebungsvariable festgelegt.

  • Sie können Umgebungsvariablen verwenden, um das Verhalten einiger Batchdateien und Programme zu steuern und Erscheinung und Funktion von Windows und dem MS-DOS-Subsystem einzustellen. Der Befehl set wird häufig in der Datei Autoexec.nt verwendet, um Umgebungsvariablen festzulegen.

  • Wenn Sie den Befehl set ohne Parameter verwenden, werden die aktuellen Umgebungseinstellungen angezeigt. Diese Einstellungen enthalten in der Regel die Umgebungsvariablen COMSPEC und PATH, die verwendet werden, um Programme auf dem Datenträger zu finden. Zwei weitere Umgebungsvariablen, die von Windows verwendet werden, sind PROMPT und DIRCMD.

  • Wenn Sie Werte für <variable> und <string>angeben, wird der angegebene Wert für <variable> der Umgebung hinzugefügt und <string> wird dieser Variablen zugeordnet. Wenn die Variable bereits in der Umgebung vorhanden ist, ersetzt der neue Zeichenfolgenwert den alten Zeichenfolgenwert.

  • Wenn Sie nur eine Variable und ein Gleichheitszeichen (ohne <string>) für den Befehl set angeben, wird der der Variable zugeordnete Wert für <string> gelöscht (als ob die Variable nicht vorhanden wäre).

  • Wenn Sie den Parameter /a verwenden, werden die folgenden Operatoren in absteigender Rangfolge unterstützt:

    Operator Vorgang ausgeführt
    ( ) Gruppierung
    ! ~ - Unär
    * / % Arithmetik
    + - Arithmetik
    << >> Logische Verschiebung
    & Bitweises AND
    ^ Bitweises exklusives OR
    = *= /= %= += -= &= ^= = <<= >>=
    , Ausdruckstrennzeichen
  • Wenn Sie logische (&& oder ||) oder modulus-Operatoren (%) verwenden, schließen Sie die Ausdruckszeichenfolge in Anführungszeichen ein. Alle nicht numerischen Zeichenfolgen im Ausdruck werden als Namen von Umgebungsvariablen interpretiert, und ihre Werte werden vor der Verarbeitung in Zahlen konvertiert. Wenn Sie einen Umgebungsvariablennamen angeben, der in der aktuellen Umgebung nicht definiert ist, wird der Wert 0 (null) zugewiesen, mit dem Sie Arithmetik mit Umgebungsvariablenwerten ausführen können, ohne den Wert über % abzurufen.

  • Wenn Sie set /a über die Befehlszeile außerhalb eines Befehlsskripts ausführen, wird der endgültige Wert des Ausdrucks angezeigt.

  • Numerische Werte sind Dezimalzahlen, sofern nicht 0× für Hexadezimalzahlen oder 0 für oktale Zahlen vorangestellt wird. Daher ist 0×12 identisch mit 18, was wiederum identisch mit 022 ist.

  • Die Unterstützung für verzögerte Erweiterung von Umgebungsvariablen ist standardmäßig deaktiviert, Sie können sie jedoch mithilfe von cmd /v aktivieren oder deaktivieren.

  • Beim Erstellen von Batchdateien können Sie set verwenden, um Variablen zu erstellen, und diese dann auf die gleiche Weise wie die nummerierten Variablen %0 bis %9 verwenden. Sie können auch die Variablen %0 bis %9 als Eingabe für set verwenden.

  • Wenn Sie einen Variablenwert aus einer Batchdatei aufrufen, schließen Sie den Wert in Prozentzeichen (%) ein. Wenn Ihr Batchprogramm beispielsweise eine Umgebungsvariable namens BAUD erstellt, können Sie die BAUD zugeordnete Zeichenfolge als ersetzbaren Parameter verwenden, indem Sie in der Eingabeaufforderung %baud% eingeben.

Beispiele

Um den Wert TEST^1 für die Umgebungsvariable namens testVarfestzulegen, geben Sie Folgendes ein:

set testVar=TEST^^1

Der Befehl set weist dem Wert der Variablen alles zu, was dem Gleichheitszeichen (=) folgt. Wenn Sie set testVar=TEST^1 eingeben, erhalten Sie daher das folgende Ergebnis: testVar=TEST1.

Um den Wert TEST&1 für die Umgebungsvariable festzulegentestVar, geben Sie Folgendes ein:

set testVar=TEST^&1

Um eine Umgebungsvariable namens include so festzulegen, dass die Zeichenfolge c:\directory zugeordnet ist, geben Sie Folgendes ein:

set include=c:\directory

Sie können dann die Zeichenfolge c:\directory in Batchdateien verwenden, indem Sie den Namen include in Prozentzeichen (%) einschließen. Sie können beispielsweise dir %include% in einer Batchdatei verwenden, um den Inhalt des Verzeichnisses anzuzeigen, das der Umgebungsvariable include zugeordnet ist. Nachdem dieser Befehl verarbeitet wurde, ersetzt die Zeichenfolge „c:\directory“ %include%.

Um den Befehl set in einem Batchprogramm zum Hinzufügen eines neuen Verzeichnisses zur Umgebungsvariable path zu verwenden, geben Sie Folgendes ein:

@echo off
rem ADDPATH.BAT adds a new directory
rem to the path environment variable.
set path=%1;%path%
set

Um eine Liste aller Umgebungsvariablen anzuzeigen, die mit dem Buchstaben p beginnen, geben Sie Folgendes ein:

set p

Um eine Liste aller Umgebungsvariablen auf dem aktuellen Gerät anzuzeigen, geben Sie Folgendes ein:

set