When we receive multiple requests from customers, in a short period of time, asking for a solution to the same issue, it is time to write a blogpost about it.
Automatically Run New Bat or CMD files
The question asked was
I want WatchDirectory to detect new Batch Scripts, *.cmd or *.bat, in a directory and automatically run them. I tried the Automatically Run Bat Files task, but it wants me to enter the name of the bat file to run. How can I do this?
Yes, you need the "Run Bat Files" task, you just need to create a "static" batch file that will run the newly detected bat or cmd file. A simple RunTheNewScript.bat like this will do:
@echo off rem the variable %WD_FILE% has the complete path to the newly detected script Call "%WD_FILE%" rem delete the script after it has run? Remove the "REM" on the next line REM DEL "%WD_FILE%"
It is probably best to also Setup a Filter so this new task will only run when it detects a CMD or BAT file, see the picture below.
This is a low cost alternative to products such as Camellia Batch Job Server. Obviously, as a specialized program, Camellia BJS offers more/other functionality, but if all you need is to run dynamically created batch scripts automatically, you can do it with WatchDirectory.