:SWITCH ... :CASE ... :OTHER ... :ENDSWITCH

Verwenden Sie die Script-Anweisung :SWITCH , um verschiedene Script-Zeilen basierend auf dem Wert einer Variablen auszuführen. Die Variable repräsentiert eine Bedingung, und der :SWITCH-Block enthält eine oder mehrere :CASE-Anweisungen. Der Case bestimmt, welche Anweisungen ausgeführt werden sollen, wenn die Variable einen bestimmten Wert hat. Definieren Sie für jeden Wert der Variablen Cases, für die verschiedene Anweisungen verarbeitet werden sollen.

Tipp: Verwenden Sie :IF... :ELSE... :ENDIF-Anweisungen, um Ausdrücke auszuwerten, wenn Sie eine einzige Bedingung haben.

Syntax

:SWITCHVariable
:CASEWert1
[Anweisungen]
[:CASEWert2
[Anweisungen]
...
]

[:OTHER
[Anweisungen]
...
]

:ENDSWITCH

Parameter

Hinweise:

Wichtig! Mit dieser Script-Anweisung können Sie die vordefinierte Variable &$PLATFORM# verwenden. Wenn Sie diese vordefinierte Variable in einem generischen Job-Objekt verwenden, müssen Sie auch die Variable &AGENT# in Ihrem Script definieren. Das generische Job-Objekt hat beim Erstellen keinen definierten Host, sodass das Script einen Fehler zurückgibt, wenn Sie den Host nicht angeben. Weitere Informationen finden Sie unter Vordefinierte Variablen.

Beispiele

Folgendes Beispiel ermittelt den aktuellen Wochentag als Zahl. Das Script verwendet die Nummer des Wochentages, um einen bestimmten Job nur montags und freitags zu starten.

:SET &DATE# = SYS_DATE_PHYSICAL("DD.MM.YYYY")
:SET &WEEKDAY#WEEKDAY_NR("DD.MM.YYYY:&DATE#")

:SWITCH &WEEKDAY#

:CASE 1
SET &ACT#ACTIVATE_UC_OBJECT(JOBS.MONDAY, WAIT)

:CASE 5
SET &ACT#ACTIVATE_UC_OBJECT(JOBS.FRIDAY, WAIT)

:OTHER
: PRINT "Keine Verarbeitung."
:ENDSWITCH

Das folgende Script in einem generischen Auftragsobjekt definiert Bedingungen basierend auf der Plattform, auf der der Auftrag ausgeführt wird:

:SWITCH&$PLATFORM#
:CASE "WINDOWS"
! fügen Sie diese Zeilen in Ihr Script ein, um festzustellen, ob ein Fehler aufgetreten ist
! @set retcode=%errorlevel%
! @if NOT %ERRORLEVEL% == 0 goto :retcode
!

:CASE "UNIX"


:OTHER
:ENDSWITCH

Siehe auch: