Zweck:Umgebungsvariablen anzeigen, erstellen, ändern oder löschen

 

Format:Anzeigemodus:

SET [/D /E /P /S /U /V /X] [Wildname]

 

Definitionsmodus:

SET [/A /B /D /M /O /S /U /V /E /RO /R [Datei...] /T:tippe | Name = value | Eingabeaufforderung ]

 

Löschmodus:

SET [/D /M /S /U /V /E ] Name=

 

DateiEine oder mehrere Eingabedateien, aus denen Variablendefinitionen gelesen werden sollen.
NameDer Name der Umgebungsvariablen.
WertDer neue Wert für die Variable, durch Leerzeichen vom Namen getrennt.
EingabeaufforderungOptionale Eingabeaufforderung für die /P Name= .
WildnameName der anzuzeigenden Variablen. Kann enthalten * Platzhalter, es sei denn, es werden Registrierungsvariablen angezeigt.

 

/A

Arithmetik

/R

Aus Datei(en) lesen

/B

Batch-Variable

/RO

Schreibgeschützte Variable

/D

Standard

/S

System

/E

Auch die Umwelt

/T:Art

Variablentyp festlegen

/M

Master-Umgebung

/U

Mitglied

/P

Pause oder Eingabeaufforderung

/V

Flüchtig

/O

Nicht überschreiben

/X

VariableExclude überschreiben

/Q

/A-Ergebnis nicht wiedergeben



 

Siehe auch: ESET und UNSET.

 

Verwendung:

 

Jedes Programm und jeder Befehl erbt eine Umwelt, das ist eine Liste von Paare der Variablen Namen und Werte. Jeder Wert ist eine nicht leere Zeichenfolge (d. h. sie muss mindestens ein Zeichen enthalten). Viele Programme nutzen Einträge in der Umgebung, um ihre eigenen Aktionen zu ändern. TCC-RT selbst verwendet mehrere Umgebungsvariablen.

 

Wenn Sie einfach den SET-Befehl ohne Optionen oder Parameter eingeben, werden alle Namen und Werte aller aktuell definierten Variablen in der Umgebung angezeigt. Normalerweise sehen Sie einen Eintrag mit dem Namen PATH, ein Eintrag namens CMDLINEund alle anderen Umgebungsvariablen, die Sie und Ihre Programme eingerichtet haben:

 

[C:\] kompensieren

PATH=C:\;C:\UTIL

CMDLINE=C:\TCMD\TCSTART.CMD

 

Wenn Sie nur eintreten Nameund es keine Variable mit diesem Namen gibt, zeigt SET alle Umgebungsvariablen an, deren Namen mit beginnen Name. Wenn beispielsweise keine Variable vorhanden ist pa, zeigt der folgende Befehl alle Variablen an, deren Namen mit beginnen pa:

 

pa einstellen

 

Der obige Befehl entspricht dem Befehl

 

pa* einstellen

 

Wenn es nur eine einzige gibt Parameter und es enthält einen oder mehrere Platzhalter (leider nur * verfügbar), SET zeigt alle passenden Umgebungsvariablen an. Sie können keine Platzhalter verwenden, um die Registrierungsvariablen anzuzeigen (/D, /S, /U und /V).

 

Mit der Variablen „VariableExclude“ können Sie Variablen angeben, die von der SET-Anzeige ausgeschlossen werden sollen. Um beispielsweise die Anzeige der Prozessor- und Benutzervariablen zu unterdrücken:

 

set VariableExclude=proc*;user*

 

(Beachten Sie, dass diese Option keinen Einfluss auf die Existenz der Variablen hat, sondern nur darauf, ob sie von einem SET ohne Argumente angezeigt werden.)

 

Um der Umgebung eine Variable hinzuzufügen, geben Sie SET, ein Leerzeichen, den Variablennamen, ein Gleichheitszeichen und den gewünschten Wert ein:

 

setze mine=c:\finance\myfiles

 

Der Variablenname und der Text nach dem Gleichheitszeichen bleiben so, wie Sie ihn eingegeben haben. Allerdings wird die Groß-/Kleinschreibung bei der Suche nach einer Variablen ignoriert; Zum Beispiel MeineVar, Myvar und MYVAR Alle beziehen sich auf dieselbe Variable. Wenn die Variable bereits vorhanden ist, wird ihr Wert durch den neuen Text ersetzt, den Sie eingegeben haben.

 

Normalerweise sollten Sie auf beiden Seiten des Gleichheitszeichens kein Leerzeichen einfügen. Ein Leerzeichen vor dem Gleichheitszeichen wird Teil des Name ; Ein Leerzeichen nach dem Gleichheitszeichen wird Teil des Wert.

 

Nachfolgende Leerzeichen im SET-Befehl werden ignoriert. Um eine Variable mit abschließendem Leerzeichen zu erstellen, verwenden Sie a Paar der Anführungszeichen nach dem Leerzeichen:

 

set mine=%@repeat[ ,20]``

 

macht Bergwerk 20 Zeichen Leerzeichen.

 

Wenn Sie SET verwenden, um eine Variable mit demselben Namen wie eine der zu erstellen TCC interne Variablen, deaktivieren Sie die interne Variable. Wenn Sie später eine Batchdatei oder einen Alias ​​ausführen, der von dieser internen Variablen abhängt, funktioniert diese möglicherweise nicht ordnungsgemäß. Sobald Sie Ihre Variable löschen, ist die interne Variable wieder zugänglich.

 

Um den Inhalt einer Variablen anzuzeigen, geben Sie SET plus den Variablennamen ein:

 

meine einstellen

 

Sie können Umgebungsvariablen mit bearbeiten ESET Befehl. Um Variablen aus der Umgebung zu entfernen, verwenden Sie UNSET, oder geben Sie SET ein, gefolgt vom Variablennamen und einem Gleichheitszeichen:

 

setze mein=

 

Die Variablen Name ist auf maximal 1024 Zeichen begrenzt.

 

Hinweis: Sie können SET nicht zum Ändern verwenden GOSUB-Variablen.

 

Die Größe der Umgebung wird automatisch festgelegt und bei Bedarf erhöht, wenn Sie Variablen hinzufügen.

 

Registrierungsvariablen

 

Windows speichert einige seiner eigenen Variablen in der Registrierung. Dazu gehören Standard-, System-, Benutzer- und flüchtige Variablen. Diese Variablen können mit den SET-Befehlen manipuliert werden /D, /S, /U und /V Optionen bzw. Zum Beispiel, um den Inhalt einer flüchtigen Variablen anzuzeigen KundennameVerwenden Sie:

 

set /v clientname

 

Beachten Sie, dass Sie eine Registrierungsvariable mithilfe einer der Optionen festlegen /D, /S, /U or /V wird nicht eingestellt die Variable in der lokalen Umgebung es sei denn Sie verwenden auch die /E .

 

Mitglied Variablen sind benutzerspezifisch und flüchtig Variablen sind nur für die aktuelle Windows-Sitzung gültig. Seien Sie vorsichtig beim direkten Ändern von Registrierungsvariablen, da diese für verschiedene Windows-Prozesse und -Anwendungen von entscheidender Bedeutung sein können.

 

Wenn die Konfigurationsoption „Umgebung bei Systemänderung aktualisieren“ aktiviert ist, TCC-RT überwacht die WM_SETTINGCHANGE-Meldung und aktualisiert die Umgebung anhand der Registrierungseinträge Benutzer, Volatile und System. Das Update wird jederzeit durchgeführt TCC-RT zeigt die Eingabeaufforderung an (um zu verhindern, dass sich die Umgebung während eines Befehls ändert).

 

Array-Variablen

 

Zusätzlich zu Umgebungsvariablen wird SET auch zum Festlegen von Werten für verwendet Array-Variablen. Um beispielsweise ein Array mit 5 Zeilen und 10 Spalten zu definieren, verwenden Sie zunächst SETARRAY:

 

setarray array1[5,10]

 

Um die Array-Werte (0-basiert) festzulegen, lautet die Syntax:

 

setze array1[a[,b[,c[,d]]]

 

Beispielsweise:

 

setze array1[0,0]=Bob

set array1[0,1]=Bobs Job

 

So erweitern Sie die Array-Variable:

 

echo Name ist %array[0,0] und Job ist %array1[0,1]

 

Zubehör:

 

/AWerten Sie den arithmetischen Ausdruck rechts vom Gleichheitszeichen aus, platzieren Sie das Ergebnis in der Umgebung und zeigen Sie es an. Dieser Befehl fügt beispielsweise hinzu 2 und 2 und platziert das Ergebnis in der Umgebungsvariablen VAR:

 

setze /a var=2+2

 

/A interpretiert nicht numerische Zeichenfolgen in Wert als Umgebungsvariablennamen, unabhängig davon, ob ihnen ein Prozentzeichen vorangestellt ist oder nicht %und ersetzt sie durch ihre jeweiligen Werte. Beispielsweise wird diese Reihenfolge festgelegt Y zu 4:

 

setze x=2

setze /a y=x+2

 
Sie können verwenden @EVAL die gleiche Aufgabe ausführen; SET /A ist aus Kompatibilitätsgründen enthalten CMD. Im Gegensatz zu @EVAL, Verwendung der Shift-Operatoren >> oder << in SET /A erfordert die Deaktivierung ihrer Interpretation als Umleitungssymbole durch Verwendung SETDOS /X-6.

 

/BLegen Sie eine Batch-Variable fest (%1 - %n). Nur gültig, wenn TCC-RT führt eine Batchdatei aus.

 

/DErstellen/Ändern/Löschen eines Standard Variable in der Registrierung (HKU\.DEFAULT\Environment).

 

/EBei Verwendung zusammen mit einem von /D, /S, /U, oder /V, legen Sie sowohl die Registrierungsvariable als auch die lokale Umgebungsvariable fest.

 

/MWenn ein Variablenname angegeben ist, ändern Sie ihn in den ursprünglichen Wert, wenn TCC-RT gestartet. Wenn kein Name angegeben wird, wird die gesamte Umgebung zurückgesetzt in die ursprüngliche Umgebung, wenn TCC-RT gestartet.

 

/OBestehende Werte nicht überschreiben (nur gültig in Kombination mit /R).

 

/PBei Verwendung ohne Variablennamen muss nach jeder Bildschirmseite ein Tastendruck abgewartet werden, bevor mit der Anzeige fortgefahren wird. Ihre Optionen an der Eingabeaufforderung werden unten ausführlich erläutert Seiten- und Datei-Eingabeaufforderungen.

 

Bei Verwendung mit einem Variablennamen und einer optionalen Eingabeaufforderungszeichenfolge, z. B. set /p Myvar=Wert eingeben, emuliert den CMD Verhalten, bei dem die Eingabe eines Werts für die Variable zugelassen wird. Dies wird nur aus Kompatibilitätsgründen bereitgestellt. Für mehr Flexibilität verwenden Sie die TCC-RT ESET or SPEISUNG Befehle.

 

/QGeben Sie das Ergebnis von /A nicht in der Befehlszeile wieder.

 

/RUmgebungsvariablen aus einer Datei lesen. Dies ist viel schneller als das Laden von Variablen aus einer Batchdatei mit mehreren SET-Befehlen. Jeder Eintrag in der Datei muss in die Datei passen Beschränkung der Befehlszeilenlänge für TCC-RT. Die Datei hat das gleiche Format wie die SET-Anzeige (dh, Name = value), sodass SET /R eine Datei als Eingabe akzeptieren kann, die durch Umleiten der SET-Ausgabe generiert wurde. Die folgenden Befehle speichern beispielsweise die Umgebungsvariablen in einer Datei und laden sie dann aus dieser Datei neu:

 

set > varlist

set /r varlist

 

Sie können Variablen aus mehreren Dateien laden, indem Sie die Dateinamen einzeln nach dem /R auflisten.

 

Wenn Sie eine SET /R-Datei manuell erstellen und einen Eintrag erstellen müssen, der sich über mehrere Zeilen in der Datei erstreckt, können Sie dies tun, indem Sie jede Zeile (außer der letzten) mit einem abschließen Escape-Zeichen. Sie können diese Methode jedoch nicht verwenden, um die Längenbeschränkung der Befehlszeile zu überschreiten. Sie können der Datei auch Kommentarzeilen hinzufügen, indem Sie jede mit einem Doppelpunkt beginnen :. Sie können auch andere Sonderzeichen verwenden, z. B. nachgestellte Leerzeichen, Umleitungen und Pipe-Symbole (<>|), ohne dass die Zeichen maskiert werden müssen. Wenn Sie auf den Wert einer anderen Variablen verweisen in Wert (z.B, x=%path;c:\jpsoft), wobei diese Variable ausgewertet wird (Weg im Beispiel) wird verschoben, bis zu einem späteren Zeitpunkt eine Befehlszeile die aktuelle Variable auswertet (x im Beispiel), so dass der Befehl Echo %x zeigt das an Weg in Kraft, wenn Echo ausgeführt wird, egal was passiert Weg könnte gewesen sein, als das ursprüngliche SET definiert wurde x.

 

Wenn Sie keinen Dateinamen angeben und die Eingabe umgeleitet wird, SET /R werde von lesen Standard.

 

/ROErstellen Sie eine schreibgeschützte Variable. Sobald Sie die Variable festgelegt haben, können Sie sie weder ändern noch zurücksetzen. Nur Umgebungsvariablen können schreibgeschützt sein, keine Registrierungsvariablen oder Array-Variablen. Eine schreibgeschützte Variable wird automatisch aus einer exportiert ENDLOCAL.

 

/SErstellen/Ändern/Löschen eines System Variable in der Registry  (HKLM\System\CurrentControlSet\Control\Session Manager\Environment).

 

/T:type[:"regex"]Legen Sie einen Variablentyp fest. Wenn Sie versuchen, die Variable auf einen inkompatiblen Typ festzulegen, gibt SET einen Fehler zurück. Die unterstützten Typen sind:

 

int (oder 1)Die Variable kann nur 0-9 enthalten
Dez. (oder 2)Die Variable darf nur 0-9, das Dezimalzeichen und das Tausendertrennzeichen enthalten
Hex (oder 3)Die Variable kann nur 0-9 und A-F enthalten
bool (oder 4)Die Variable kann nur 0 oder 1 enthalten
Alpha (oder 5)Die Variable darf nur A-Z und a-z enthalten
Alnum (oder 6)Die Variable kann nur A-Z, a-z und 0-9 enthalten
Regex (oder 7)Die Variable muss mit dem angegebenen regulären Ausdruck übereinstimmen

 

/UErstellen/Ändern/Löschen eines Benutzer Variable in der Registry (HKCU\Umgebung).

 

/VErstellen/Ändern/Löschen eines flüchtig Variable in der Registry (HKCU\Volatile Umgebung).

 

/XÜberschreiben Sie die VariableExclude Variable und zeigt alle passenden Variablen an.