Batches are common in the UNIX world and had been popular in the DOS world, too.
But in the Windows world, batches are something administrators don't like: The
chance is just too high that they break. The reason is that the batch language
is not well suited for exceptions. Batches are potentially instable. Also when
running they open that ugly DOS BOX, which nobody wants to see and (worse!)
could break using CTRL-BREAK (with undeterministic result, depending on the
currently executed command within the batch). And worse, the batch language
itself has several differences between the Windows versions...
On Windows it is typical to have an EXE file. In the Java world it is typical to
have a JAR file. Both can be supplied with excellent exception handling and can
optionally run without showing any UI.
So it would be really great if there would be no batches but EXE or JAR files
that drive the command line interface. I do not see anything in the batch that
can be done in a batch but not in a JAR file. Since we are in the Java universe
let's use Java.