Для начала, вот некоторая информация и указатели на различные альтернативы.Попробуйте их и посмотрите, какой из них более точно отвечает вашим требованиям и работает для вас.
Самое простое, просто вызовите Process.Start (), передав полную спецификацию файла в пакетный файл
Process.Start("c:\bats\test.bat")
Есливам нужно больше контроля, вы можете создать Process.StartInfo и передать его методу Process.Start.Я не тестировал этот код.
Process p= new Process();
p.StartInfo.WorkingDirectory = "C:\temp";
p.StartInfo.FileName = "c:\bats\test.bat";
p.StartInfo.Arguments = "arguments";
p.StartInfo.CreateNoWindow = false;
p.Start();
p.WaitForExit();
Немного более запутанным способом является запуск CMD и отправка ему команд.См. Эту статью http://codebetter.com/brendantompkins/2004/05/13/run-a-bat-file-from-asp-net/ Однако это довольно грубое пакетное выполнение методом грубой силы, которое может работать не для всех файлов BAT (например, для тех, которые имеют команды FOR с переменными %%) и имеют некоторые побочные эффекты.