====== ExecuteExternalProcessor ====== Der **ExecuteExternalProcessor** Job-Step startet einen externen Prozeß z.B.: Batchdatei, Scripting, Exe-Datei usw.\\ Im Gegensatz zum ExecuteExternal Job-Step wird dieser Prozess für alle Attachments je eingehenden Messages ausgeführt. ^Name ^Bedeutung | |//Name//|Name des ExecuteExternal Job-Steps. Hier sollte nach Möglichkeit ein aussagekräftiger Name gewählt werden.| |//Type//|Type of the job step.| |//Description//|Hier kann ggf. eine Beschreibung der konkreten Aufgabe des Jobsteps in diesem Job eingetragen werden.| |//ExternalCommand//|Datei, Scripting, externer Prozeß der gestartet werden soll. Zum Beispiel sample.bat.| |//CommandArguments//| Diese Argumente werden z.B. einem Script für den Verarbeitungsprozess übergeben. Es können alle Variablen aus dem [[prozessdefinition:repositorien:kontainerisierer:anlegen|]] verwendet werden udn die Variable ${Filename}, welche den Pfad auf die Datei enthält. **Achtung:** nur bei ${Filename} werden aus Kompatibilitätsgründen die Anführungszeichen gesetzt, siehe im Beispiel unten. | |//MatchFile//| Ein Regulärer Ausdruck(([[prozessdefinition:repositorien:erkennungskomponenten:regex|]])), der wenn gesetzt mit dem Dateinamen übereinstimmen muss.| |//TraceStandardOutput//|//True//: Externen Prozeß loggen.| |//ImportIfChanged//|//True//: Änderungen an Anhängen werden übenommen.| |//ThrowTaskOnNonZeroExit//|//True//: Task erzeugen falls externer Prozeß nicht mit Rückgabewert 0 beendet wird (z.B.: Fehlerfall).| ==== Beispiel: ==== Mit dem Wert “\test.bat” für **ExternalCommand** und folgenden Werten für **CommandArguments**: ${Filename} "Subject=${Subject}" "${CurrentFileName}" Wird die 'cmd.exe' mit den folgenden Argumenten ausgeführt: /C "\test.bat" "\bin\temp\19cc929426a74edabd1f6bbf417ea868.dat" "Subject=" "" D.h., der zweite Parameter (%1) im Batch ist der Dateiname auf den Inhalt des Anhangs. **Sortieren des Inhaltes der Anhänge** ExternalCommand: Sort CommandArguments: /+1 /r ${Filename} /o ${Filename} ImportIfChanged: yes