Variablen und Funktionen

Die Umgebung ist eine Sammlung von Informationen über Ihr System, die jedes Programm erhält. Jeder Eintrag in der Umgebung besteht aus einem Variablennamen und einem Stringwert.

 

Verwendung

 

Sie können den Text für den Variablennamen in jedem Befehl automatisch ersetzen. Um die Ersetzung zu erstellen, fügen Sie ein Prozentzeichen % und den Variablennamen in die Befehlszeile oder in eine Alias- oder Batch-Datei ein, z. B.%comspec. Wenn der Name der Variablen, deren Wert Sie verwenden möchten, ein Ausdruck ist, können Sie den Ausdruck in Klammern einschließen, z. B. %[%n]. Wenn Sie eine Variable oder einen Ausdruck für einen Array-Variablennamen verwenden wollen, lautet die Syntax %[var[n]].

 

Sie können Umgebungsvariablen mit den Befehlen SET, ESET und UNSETerstellen, ändern, anzeigen und löschen .

 

Einige Umgebungsvariablen haben spezielle Bedeutungen für TCC (sie sind unter Systemvariablen aufgeführt  ).

 

TCC unterstützt auch zwei spezielle Arten von Variablen:

 

OnestepInterne Variablen sind ähnlich wie Umgebungsvariablen, werden aber intern von TCCinterpretiert und sind in der Umgebung nicht sichtbar. Sie liefern Informationen über Ihr System zur Verwendung in Batch-Dateien und Aliasen. Einige von ihnen bieten Zugriff auf Informationen, die sich sogar während der Ausführung eines einzelnen Befehls oder einer Batch-Datei ändern können.

 

OnestepVariablenfunktionen werden wie Umgebungsvariablen referenziert, führen aber zusätzliche Aktionen wie Dateiverarbeitung, Stringmanipulation und arithmetische Berechnungen durch. Zusätzlich zu den Variablenfunktionen, die intern zu TCCkönnen Sie mit dem  Befehl FUNCTION Ihre eigenen Funktionen erstellen. Diese letzteren werden als benutzerdefinierte Variablenfunktionen oder UDFs bezeichnet.

 

Sie können das Ergebnis eines Befehls mit %(Befehl) zurückgeben. Dies ist dasselbe wie die @EXEC-Variablenfunktion, aber etwas einfacher zu schreiben.

 

Mit %((...)) wird der numerische Ausdruck ausgewertet und ersetzt. Zum Beispiel:

 

echo %((3+5)) ist die Antwort.

 

%[[...]] wertet den bedingten Ausdruck aus und gibt 0 zurück, wenn der Exit-Status wahr ist, und 1, wenn er es nicht ist. Zum Beispiel:

 

echo %[[5 == 6]]

 

Sie können das Ergebnis eines Befehls mit %{command} zurückgeben. Dies ist dasselbe wie @EXECSTR[command], aber etwas einfacher zu schreiben. Zum Beispiel:

 

dir %{echo foo}

 

wird in "dir foo" übersetzt.

 

Anmerkung: TCC Die anfängliche Umgebung von @EXECSTR[Befehl] wird von dem Prozess geerbt, der ihn gestartet hat. Dieser Prozess kann der Explorer oder ein anderer bestehender Windows-Prozess sein, der die aktuelle TCC Sitzung gestartet hat. Beachten Sie, dass wenn die Umgebung des startenden Prozesses geändert wird (z.B. durch Änderungen in der Registrierung), während TCC bereits läuft, werden diese Änderungen nicht automatisch in der TCC Umgebung übernommen. Siehe den  SET-Befehl für Details.

 

Sie verwenden den  SET-Befehl, um eine neue Umgebungsvariable zu erstellen. SET kann auch eine einzelne Umgebungsvariable ändern oder löschen oder den Wert einer oder mehrerer Umgebungsvariablen anzeigen. ESET ermöglicht es Ihnen, eine Umgebungsvariable zu bearbeiten. UNSET löscht Umgebungsvariablen. Sie können zum Beispiel eine Variable mit dem Namen BACKUP wie folgt erstellen :

 

set BACKUP=*.bak;*.bk

 

Wenn Sie dann eingeben:

 

del %BACKUP

 

ist dies gleichbedeutend mit der Eingabe des Befehls:

 

del *.bak;*.bk

 

Die Namen der Umgebungsvariablen, die Sie auf diese Weise verwenden, können beliebige alphabetische oder numerische Zeichen, den Unterstrich _ und das Dollarzeichen $enthalten . Sie können die Annahme anderer Zeichen erzwingen, indem Sie den vollständigen Variablennamen in eckige Klammern einschließen, etwa so: %[AB##2]. Sie können auch indirekt auf Umgebungsvariablen verweisen, indem Sie eckige Klammern verwenden. Zum Beispiel bedeutet %[%var1] "der Inhalt der Variablen, deren Name in VAR1 gespeichert ist ".

 

Darüber hinaus TCC die Umgebung, um das Standardverzeichnis auf jedem Laufwerk zu ermitteln. Windows merkt sich nur das Standardverzeichnis des aktuellen Laufwerks; TCC überwindet diese Einschränkung, indem es das Standardverzeichnis für jedes Laufwerk in der Umgebung speichert und dabei versteckte Variablennamen verwendet. Jede Variable beginnt mit einem Gleichheitszeichen, gefolgt von dem Laufwerksbuchstaben und einem Doppelpunkt (z. B. =C:).  Sie können diese Variablen nicht mit dem SET-Befehl anzeigen oder ändern .

 

Das nachgestellte Prozent Zeichen, das traditionell für die Namen von Umgebungsvariablen erforderlich war, ist normalerweise nicht erforderlich bei TCCdie jedes Zeichen, das nicht Teil eines Variablennamens sein kann, als Abschlusszeichen akzeptieren. Das abschließende Prozentzeichen kann jedoch verwendet werden, um die Kompatibilität mit CMD zu wahren.

 

Das abschließende Prozentzeichen wird benötigt, wenn Sie Variablenwerte anhängen wollen. Die folgenden Beispiele zeigen die möglichen Wechselwirkungen zwischen Variablen und literalen Zeichenfolgen. Erstellen Sie zunächst zwei Umgebungsvariablen mit den Namen ONE und TWO auf diese Weise:

 

set ONE=abcd

set TWO=efgh

 

Die folgenden Kombinationen ergeben nun den gezeigten Ausgabetext:

 

ursprünglich

erweitert

Methode

%ONE%TWO

abcdTWO

("%ONE%" + "TWO")

%ONE%TWO%

abcdTWO

("%EIN%" + "ZWEI%")

%ONE%%TWO

abcdefgh

("%EIN%" + "%ZWEI")

%ONE%%TWO%

abcdefgh

("%EIN%" + "%ZWEI%")

%ONE%[ZWEI]

abcd[ZWEI]

("%EIN%" + "[ZWEI]")

%ONE%[TWO]%

abcd[ZWEI]

("%EINS%" + "[ZWEI]%")

%[EINS]%ZWEI

abcdefgh

("%[EINS]" + "%ZWEI")

%[EIN]%ZWEI%

abcdefgh

("%[EINS]" + "%ZWEI%")

 

Wenn Sie ein Prozentzeichen an einen Befehl oder eine Zeichenkette übergeben wollen, die ein Prozentzeichen enthält, müssen Sie zwei Prozentzeichen hintereinander verwenden. Andernfalls wird das einzelne Prozentzeichen als Beginn eines Variablennamens angesehen und nicht an den Befehl weitergegeben. Um beispielsweise die Zeichenkette "Wir stehen zu 100% hinter dir" auszugeben, würden Sie den Befehl verwenden:

 

echo Wir sind mit dir 100%%

 

Sie können den Text auch in Anführungszeichen setzen, anstatt ein doppeltes Prozentzeichen zu verwenden. Siehe Parameterquotierung für Details.

 

Umgebungsvariablen können Alias-Namen enthalten. TCC Der Befehl echo ersetzt den Namen durch den Variablenwert und sucht dann nach Aliasnamen, die im Wert enthalten sind. Die folgenden Befehle würden zum Beispiel ein zweispaltiges Verzeichnis der . TXT-Dateien erzeugen :

 

alias d2 dir /2

set cmd=d2

%cmd *.txt

 

Aus Gründen der Kompatibilität mit einer besonderen Syntax, die in neueren CMD-Versionen eingeführt wurde, TCC unterstützt:

 

%var:string1=string2%

Ersetzt die zweite Zeichenkette für alle Instanzen der ersten Zeichenkette in der Variablen.

%var:~x[,y]%

Gibt die Teilzeichenkette zurück, die an der x-ten Zeichenposition (Basis 0) beginnt und für y Zeichen fortgesetzt wird. Wenn y nicht angegeben ist, wird der Rest der Zeichenkette zurückgegeben. Wenn x negativ ist, beginnt es am Ende der Zeichenkette.

 

Für die Manipulation von Zeichenketten empfehlen wir Ihnen, stattdessen die viel flexibleren Variablenfunktionen zu verwenden.