Variable Funktionen sind internen Variablen sehr ähnlich, nehmen jedoch einen oder mehrere Parameter an (bei denen es sich um Umgebungsvariablen oder sogar andere Variablenfunktionen handeln kann).

 

Variablenfunktionen sind sowohl an der Eingabeaufforderung als auch in nützlich Aliase und Stapeldateien um die verfügbaren Systemressourcen zu überprüfen, Zeichenfolgen und Zahlen zu bearbeiten und mit Dateien und Dateinamen zu arbeiten.

 

Die integrierten Variablenfunktionen TCC werden in den folgenden Themen in alphabetischer Reihenfolge aufgeführt. Sie können auch über die Eingabeaufforderung Hilfe zu jeder Funktion mit a erhalten HILFE @Funktionsname  Befehl oder durch Drücken von Strg-F1, wenn sich der Cursor auf dem Funktionsnamen befindet. Siehe die HILFE Befehl für Details.

 

Hinweis: Das AUFGABE Mit dem Befehl können benutzerdefinierte Variablenfunktionen erstellt, bearbeitet oder angezeigt werden UNFUNKTION um sie zu löschen.

 

Eine Liste der variablen Funktionen, geordnet nach allgemeinen Nutzungskategorien, finden Sie unter Variable Funktionen nach Kategorie.

 

Syntax

 

Damit eine benutzerdefinierte oder eine integrierte Variablenfunktion ausgewertet werden kann, muss ihrem Namen ein Prozentzeichen vorangestellt werden % (%@EVAL, %@LEN, usw.). Alle Variablenfunktionen müssen eckige Klammern haben [] einschließlich ihrer Parameter, falls vorhanden. Zwischen dem Funktionsnamen und dem ist kein Leerzeichen zulässig [.

 

Speichergröße / Festplattenspeicher / Dateigrößeneinheiten und Berichtsformat

 

Einige variable Funktionen, wie z @DISKFREE, akzeptieren Sie einen optionalen Parameter Skalencode. Diese Funktionen geben die Größe einer Festplatte oder einer Entität auf der Festplatte als Vielfaches des angegebenen Skalierungsfaktors aus der folgenden Tabelle zurück. Kleinbuchstaben bezeichnen eine Potenz von 1,000, Großbuchstaben eine Potenz von 1,024.

 

 

Code

Skalierungsfaktor

Code

Skalierungsfaktor

Einheitenname

b

1

 

B

1

 

Byte

k

1,000

10 ** 3

K

1,024

2 ** 10

Kilobyte

m

1,000,000

10 ** 6

M

1,048,576

2 ** 20

Megabyte

g

1,000,000,000

10 ** 9

G

1,073,741,824

2 ** 30

Gigabyte

t

1,000,000,000,000

10 ** 12

T

1,099,511,627,776

2 ** 40

Terabyte

p

1,000,000,000,000,000

10 ** 15

P

1,125,899,906,842,624

2 ** 50

Petabyte

e

1,000,000,000,000,000,000

10 ** 18

E

1,152,921,504,606,846,976

2 ** 60

Exabyte

 

 

Sie können einschließen Kommas (Oder die Tausendertrennzeichen) in den von einer Funktion zurückgegebenen Wert ein, indem Sie den Buchstaben anhängen c zum  Skalencode. Um beispielsweise Kommas zu a hinzuzufügen b (Anzahl der Bytes) Ergebnis, eingeben bc als Parameter, also:

 

echo %@DISKFREE[C,bc]

 

Notizen

 

1)Festplattenhersteller verwenden die aus dem metrischen System übernommenen Präfixe (Kilo, Mega, Giga, Tera) in ihrer ursprünglichen Bedeutung (Potenzen von 1,000), während Speicherhersteller und Microsoft die etwas größeren Potenzen von 1,024 (2**10) verwenden..

 

2)Das Skalencode ist einer der wenigen Fälle, in denen TCC is Groß-/Kleinschreibung beachten.

 

Datumsparameterformat

 

Siehe die Datumsformate Thema.

 

Parameter für Dateinamen

 

Dateinamen, die als variable Funktionsparameter übergeben werden, müssen in doppelte Anführungszeichen gesetzt werden, wenn sie Leerzeichen oder Sonderzeichen enthalten. Einige Funktionen geben auch Dateinamen oder Teile von Dateinamen zurück. Auf LFN-Laufwerken können die von diesen Funktionen zurückgegebenen Zeichenfolgen Leerzeichen oder andere Sonderzeichen enthalten. Um Probleme zu vermeiden, die durch diese Zeichen verursacht werden könnten, zitieren Sie den zurückgegebenen Namen, bevor Sie ihn an andere Befehle übergeben. Zum Beispiel (beide dieser Methoden würden funktionieren):

 

set fname="%@findfirst[pro*]"

Die echo First PRO-Datei enthält:

Geben Sie %fname ein

.....

set fname=%@findfirst[pro*]

Die echo First PRO-Datei enthält:

Geben Sie „%fname“ ein

.....

 

Wenn Sie in diesem Beispiel die Anführungszeichen im SET- oder TYPE-Befehl nicht verwenden, interpretiert TYPE Leerzeichen oder Sonderzeichen im Namen nicht richtig.

 

Parameter für Laufwerksbuchstaben

 

In Variablenfunktionen, die einen Laufwerksbuchstaben als Parameter verwenden, wie z @DISKFREE or @BEREIT, der Laufwerksbuchstabe sollen gefolgt von einem Doppelpunkt. Die Funktion funktioniert nicht richtig, wenn Sie den Laufwerksbuchstaben ohne Doppelpunkt verwenden.

 

Funktionen, die auf Dateihandles zugreifen

 

Das @FILEREAD, @FILEWRITE, @FILEWRITEB, @FILESEEK, @FILESEEKL und @FILECLOSE Funktionen ermöglichen Ihnen den Zugriff auf Dateien basierend auf ihren Dateihandle. Diese Funktionen dürfen nur mit Dateihandles verwendet werden, die von zurückgegeben werden @DATEI ÖFFNEN, sofern bei den einzelnen Funktionen nichts anderes vermerkt ist. Wenn Sie sie mit einem anderen Dateihandle verwenden, können Dateien beschädigt werden.

 

Dateiattribute

 

Mehrere Funktionen akzeptieren eine Dateiattributzeichenfolge, um zu bestimmen, welche Dateien verarbeitet werden sollen. Die Regeln zum Erstellen der Attributzeichenfolge sind dieselben wie für Attributschalter in Befehlen.

 

Beispiele

 

Sie können variable Funktionen je nach Bedarf auf vielfältige Weise nutzen. Um Ihnen eine Vorstellung davon zu geben, was möglich ist, hier ein paar Beispiele:

 

Der folgende Befehl stellt die Eingabeaufforderung so ein, dass die Menge des freien Speichers angezeigt wird (siehe PROMPT Einzelheiten zum Einschließen variabler Funktionen in Ihre Eingabeaufforderung):

 

prompt (%%@dosmem[K]K) $p$g

 

Richten Sie einen einfachen Befehlszeilenrechner ein. Der Rechner wird mit einem Befehl wie CALC 3 * (4 + 5) verwendet:

 

alias calc `echo Die Antwort ist:  %@eval[%$]`