It is difficult to find out what's causing the dreaded "<program name> has stopped working" error. Suggestions include low memory, driver problems, or "Data Execution Prevention".
Take a look into the "application" event log, perhaps it has useful Information…
It would probably be more useful to identify which batch file is failing; that will help with identifying the environmental issue. Add the following to each batch file, perhaps right before invoking perl.exe:
echo %0 > C:\Users\Mj1234\working
set >> C:\Users\Mj1234\working