Если бат файл простой тоесть там нет диалога с пользователем и надо просто тупо запустить его с параметрами и подождать пока он отработает то подойдет и такой код:
var cmd = new ActiveXObject("WScript.Shell"); //создаем объект шел
myApp = cmd.Exec("C:\\pr\\main.bat blablafile.txt auto"); //запускаим бат файл с параметрами
while (myApp.Status === 0) //пока наша прога (читай бат файл) работает
{
WScript.Sleep(100);//пауза что бы не перегружать проц
}
//читаем со стандартного потока вывода, запущеной проги
//все что она написала туда и выводим на экран
WScript.StdOut.Write(myApp.StdOut.ReadAll())
//"перенаправляем" поток ошибок проги на нашь поток ошибок
WScript.StdErr.Write(myApp.StdErr.ReadAll())
WScript.Echo("Приложение завершилось с кодом: "+myApp.ExitCode)
WScript.Sleep(7000); //что бы сразу экран не закрывался
(правда могут возникнуть проблемы с кодировкой хз как пофиксить)