Zweck:Führen Sie einen Befehl in einer Batchdatei aus, wenn eine bestimmte Bedingung eintritt

 

Format:IN DER PAUSE [Befehl]

AUF SCHLIEßEN [Befehl]

UNTER DER BEDINGUNG [Bedingungsbefehl]

AUF DBLCLICK [Befehl]

BEI FEHLER [Befehl]

AUF FEHLEREBENE n [Befehl]

AUF FEHLERG [Befehl]

Beim Abmelden [Befehl]

AUF LBTASTE [Befehl]

AUF MB-TASTE [Befehl]

AUF RBTASTE [Befehl]

AUF WIEDERAUFNAHME [Befehl]

BEIM ABSCHALTEN [Befehl]

AUF AUSSETZEN [Befehl]

 

Befehl        Befehl, der ausgeführt werden soll, wenn das Ereignis eintritt

 

Verwendung:

 

ON setzt a ZEIT FÜR STORYTELLING Dieser bleibt für die Dauer der aktuellen Sitzung oder Batchdatei wirksam oder bis er durch einen anderen ON-Befehl desselben Typs ersetzt wird. Wann immer ein brechen or Fehler Bedingung tritt auf, nachdem ON ausgeführt wurde, die entsprechende Befehl wird automatisch ausgeführt. Sie können mehrere EIN-Befehle gleichzeitig aktiv haben, solange keine zwei vom gleichen Typ sind. (Sie können beispielsweise ein ON BREAK und ein ON CLOSE haben, aber nicht zwei ON LBUTTON.)

 

Wenn das letzte Argument in der Zeile ein Single ist (, es wird als Beginn einer Befehlsgruppe interpretiert. ON hängt die folgenden Zeilen an (in einer Batch-Datei) oder fordert Sie zu weiteren Eingaben auf (in der Befehlszeile), bis ein Abschluss erfolgt ).

 

Globale Bedingungen:

 

Die folgenden EIN-Bedingungen können über die Eingabeaufforderung ausgeführt werden (eine „globale Bedingung“); alle anderen funktionieren nur in einer Batchdatei.

 

IN DER NÄHE

Beim Abmelden

Beim Herunterfahren

AUF AUSSETZEN

WIR ZUSAMMENFASSEN

 

Wenn kein Befehl angegeben ist, TCC-RT entfernt den vorhandenen Befehl für die angegebene Bedingung. Jedes Mal, wenn eine ON-Anweisung definiert wird, definiert sie einen neuen Befehl, der für dieses Ereignis ausgeführt werden soll, und alle vorherigen Befehle werden verworfen. Wenn für die aktuelle Batchdatei eine EIN-Bedingung definiert ist, überschreibt diese eine globale EIN-Bedingung.

 

Aktivierung IN DER PAUSE

 

ON BREAK wird ausgeführt Befehl wenn der Benutzer drückt Strg-C or Strg-Pause.

 

Aktivierung IN DER NÄHE

 

ON CLOSE wird ausgeführt Befehl wenn das TCC-RT-Sitzung ist geschlossen.

 

Aktivierung UNTER DER BEDINGUNG

 

ON CONDITION wird ausgeführt Befehl wann Zustand ist wahr. Zustand kann jeder gültige Test sein IF. Der Test wird nach der Ausführung jedes Befehls durchgeführt. Wenn Sie eine Schleife ausführen (DO or FÜR), wird der Test jedes Mal durch die Schleife durchgeführt.

 

Aktivierung AUF DBLCLICK

 

ON DBLCLICK wird ausgeführt Befehl wenn die linke Maustaste doppelt angeklickt wird TCC-RT ist das aktive Fenster. (Beachten Sie, dass, wenn Sie auch einen ON LBUTTON-Befehl haben, dieser beim ersten Klick ausgeführt wird.)

 

Aktivierung BEI FEHLER und AUF FEHLERG

 

ON ERROR oder ON ERRORMSG wird ausgeführt Befehl nach einem kritischen Fehler, einem Betriebssystemfehler (z. B. einem Festplattenschreibfehler) oder einem internen Befehlsfehler (z. B. einem COPY Befehl, der keine Dateien kopiert, oder die Verwendung einer ungültigen Befehlsoption).

 

ON ERROR wird ausgeführt Befehl unmittelbar nach dem Fehler auftritt, ohne dass etwas angezeigt wird TCC-RT-Fehlermeldung (Windows-Fehler werden möglicherweise weiterhin angezeigt). ON ERROR setzt auch die interne Variable %_SYSERR.

 

ON ERRORMSG zeigt zunächst die entsprechende Fehlermeldung an und führt sie dann aus Befehl.

 

Wenn beide angegeben sind, hat ON ERROR Vorrang und ON ERRORMSG wird ignoriert.

 

Aktivierung von ON ERRORLEVEL

 

AUF FEHLEREBENE n wird ausführen Befehl wenn die interne Variable ERRORLEVEL gleich der durch angegebenen Ganzzahl ist n. Sie können auch die IF ERRORLEVEL-Tests verwenden; Zum Beispiel:

 

AUF FEHLEREBENE EQ 37 ...

 

Aktivierung AUF LB-KNOPF

 

ON LBUTTON wird ausgeführt Befehl wenn mit der linken Maustaste geklickt wird.

 

Aktivierung Beim Abmelden

 

ON LOGOFF wird ausgeführt Befehl wenn sich der Benutzer abmeldet.

 

Aktivierung AUF MBKNOPF

 

ON MBUTTON wird ausgeführt Befehl wenn mit der mittleren Maustaste geklickt wird TCC-RT ist das aktive Fenster.

 

Aktivierung AUF RBKNOPF

 

ON RBUTTON wird ausgeführt Befehl wenn mit der rechten Maustaste geklickt wird TCC-RT ist das aktive Fenster.

 

Aktivierung WIR ZUSAMMENFASSEN

 

ON RESUME wird ausgeführt Befehl wenn das System nach dem Ruhezustand oder Ruhezustand wieder hochfährt.

 

Aktivierung Beim Herunterfahren

 

ON SHUTDOWN wird ausgeführt Befehl wenn das System heruntergefahren wird.

 

Aktivierung AUF AUSSETZEN

 

ON SUSPEND wird ausgeführt Befehl wenn das System in den Ruhezustand wechselt. Nach maximal 2 Sekunden wird Windows weiterhin angehalten.

 

Geltungsbereich

 

Jedes Mal, wenn eine ON-Anweisung definiert wird, definiert sie einen neuen Befehl, der für dieses Ereignis ausgeführt werden soll, und alle vorherigen Befehle werden verworfen.

 

Wenn Sie keinen Befehl angeben, TCC-RT stellt den Standardhandler wieder her.

 

Eine ON-Anweisung wirkt sich nur auf die aktuelle Batchdatei aus. Wenn die Batchdatei, die ON enthält, aus irgendeinem Grund beendet wird, sei es vorübergehend (z. B. durch a Anrufen in eine andere Batchdatei) oder dauerhaft, die TCC-RT Standard brechen und Fehler Handler werden wirksam. A AnrufenDie ed-Batchdatei kann dann ON verwenden, um ihre eigenen Handler zu definieren. Wenn die Kontrolle an die aufrufende Batchdatei zurückgegeben wird, ist es so brechen und Fehler Handler, die am gültig waren Anrufen werden reaktiviert.

 

Einschränkungen

 

Das ON ERROR[MSG] Befehl wird nicht aufgerufen werden, wenn ein Fehler Tritt beim Lesen oder Schreiben umgeleiteter Eingaben, Ausgaben oder einer Pipe auf.

 

Vorsicht: Sollten Sie jetzt aufgefordert werden, ein brechen or Fehler tritt auf, während die Befehl Der in ON BREAK, ON ERROR, ON ERRORLEVEL oder ON ERRORMSG angegebene Befehl wird ausgeführt Befehl wird neu gestartet. Dies bedeutet, dass Sie vorsichtig sein müssen, um mögliche Fehler in den von ON aufgerufenen Befehlen zu vermeiden oder zu behandeln, da solche Fehler eine Endlosschleife verursachen können.

 

Beispiele:

 

Das Befehl kann ein beliebiger Befehl sein, der allein in einer Batchdateizeile verwendet werden kann. Häufig ist es ein GOTO or GOSUB Befehl. Das folgende Fragment fängt beispielsweise jeden Benutzerversuch ab, die Batchdatei durch Drücken von zu beenden Strg-C or Strg-Pause. Es schimpft den Benutzer für den Versuch, die Batchdatei zu beenden, und fährt dann fort:

 

in der Pause gosub gotabreak

do i = 1 bis 1000

 echo %i

beenden

verlassen

:gotabreak

Echo Hey! Hör auf damit!!

Rückkehr

 

Sie können eine Befehlsgruppe wie die Befehl wenn Sie mehrere Befehle ausführen möchten, zum Beispiel:

 

in der Pause (Echo Hoppla, ich habe eine Pause! & aufhören)

 

ON geht davon aus, dass Sie mit der Ausführung der Batchdatei fortfahren möchten. Nach dem Befehl ausgeführt wird, kehrt die Steuerung automatisch zu dem Befehl in der Batchdatei zurück, der unmittelbar nach dem Befehl liegt, der durch das Ereignis unterbrochen wurde. Um zu vermeiden, dass die Batchdatei nach dem Ereignis beim nächsten Befehl fortgesetzt wird, führen Sie einen der folgenden Schritte aus Befehl:

 

Transfersteuerung mit GOTO,

Beenden Sie die Batchdatei mit QUIT or ABBRECHEN

Kette zu einer anderen Batch-Datei (ohne die Verwendung von Anrufen).

 

Beim Umgang mit einem Fehler Bedingung mit ON ERROR[MSG], kann die Verwendung nützlich sein interne Variablen, insbesondere %_? und %_SYSERR, um die Ursache zu ermitteln Fehler.

 

Zwingen TCC-RT zum Ignorieren brechen or Fehler, Verwenden Sie die REM Befehl als dein Befehl.

 

Zubehör:

 

/GLegen Sie eine globale Bedingung fest (eine, die ausgeführt wird, ob TCC-RT befindet sich in einer Batchdatei oder an der Eingabeaufforderung). Dies ist nützlich, wenn Sie globale Bedingungen aus einer Batchdatei festlegen möchten. Zum Beispiel:

 

ON /G LOGOFF Befehl