Een ogenblik geduld aub...
De website wordt geladen...
Twitter LinkedIn Vimeo YouTube Facebook
Knowledge Base
Uitvoeren van een batchbestand en wachten op resultaat alvorens door te gaan met de rest van de taak.
Id: 000018 | Datum: 08-03-2017 | Producten: TaskCentre
Beschrijving van het probleem
Binnen Orbis TaskCentre is het mogelijk om met de "Run Program" stap een batchbestand of een executable te starten. Het is tevens mogelijk om beide opties te gebruiken: In deze opzet start TaskCentre een batchbestand welke een executable met enkele parameters aanroept. In deze situatie zal men merken dat de TaskCentre taak direct na het starten van het batchbestand verder gaat met het uitvoeren van de overige stappen in de taak. In sommige gevallen is dit niet wenselijk omdat de resterende stappen van de taak afhankelijk zijn van de acties van de aangeroepen executable.

Oorzaak en oplossing van het probleem
Er zijn meerdere oorzaken voor dit gedrag binnen TaskCentre:

Instelling: Wait for program to finish
Bij het aanmaken van een Run Program stap zal deze onder de standaard instellingen niet wachten op het afronden van het uitgevoerde batchbestand. Als dit gedrag wel gewenst is moet dit expliciet in de instellingen van de stap aangegeven worden. Deze instellingen kan men op het "Options" tabblad van de Run Program stap aanzetten:
  • Navigeer naar het Options tabblad van de "Run Program" stap.
  • Zet het vinkje "Wait for the program to Finish" aan.
  • Men kan de taak met de optie "Indefinitely" oneindig op het batchbestand laten wachten.
  • De optie "For a Maximum of" kan gebruikt worden om een batchbestand en de taak te sluiten indien deze langer dan de ingestelde periode wachten.

Onderstaande afbeelding geeft deze opties weer.



Batchbestand: Correcte aanroep van onderliggende executable
Wanneer men een batchbestand gebruikt om een executable aan te roepen zal men merken dat de taak direct verder gaat met de vervolgstappen, ondanks dat bovenstaande instelling zou suggereren dat dit niet het geval zou moeten zijn. Dit gedrag is verklaarbaar: De enige actie die het batchbestand uit moet voeren is de executable aanroepen - hierna is het batchbestand afgerond. TaskCentre zal detecteren dat het batchbestand afgerond is en verder gaan met de uitvoer van zijn taak, terwijl de onderliggende executable nog bezig is met werkzaamheden uit te voeren.

Dit gedrag kan met onderstaand voorbeeld batch bestand, buiten TaskCentre gesimuleerd worden. Dit batch bestand start de calculator en sluit zichzelf vervolgens: men zal kortstondig de Command Prompt zien waarna enkel de calculator op het scherm blijft staan. Wanneer dit batchbestand in TaskCentre uitgevoerd zou worden zou de taak onmiddellijk doorlopen.

.Bat voorbeeld 1
start calc.exe
exit


Het gewenste gedrag van TaskCentre is echter te wachten tot de onderliggende executable gereed is, alvorens de rest van de taak uit te voeren. Dit is instelbaar door de code van het voorbeeld batchbestand iets aan te passen:

.Bat voorbeeld 2
start /WAIT calc.exe
exit


Wanneer dit batchbestand buiten TaskCentre gestart wordt zal de Command Prompt naar voren komen, de calculator starten en vervolgens open blijven staan totdat de calculator afgesloten wordt. Wanneer dit bestand in TaskCentre uitgevoerd wordt zal deze TaskCentre blijven wachten tot de onderliggende executable uitgevoerd is.
ID: 000018
Datum: 08-03-2017
Heeft betrekking op de volgende producten:
TaskCentre
Heeft u vragen, of wellicht ondersteuning nodig? Neem dan via onze Orbis Portal contact op met onze helpdesk.
LinkedIn Vimeo YouTube