Запуск скрипта bat из C # - PullRequest
       11

Запуск скрипта bat из C #

3 голосов
/ 23 октября 2010

Я пытаюсь запустить пакетный сценарий из программы c sharp, код, который я использую, показан ниже:

 Process proc = new Process();
 proc.StartInfo.FileName = "G:\\Media\\Downloads\\print.bat";
 proc.Start();

Скрипт прост (для тестирования) и содержит одну строку:

echo hello > output.txt

Когда я запускаю скрипт из проводника Windows, он работает, но не при запуске из кода C #.

есть мысли?

Также, как я могу дать процессам метод обратного вызова, когда он завершится?

Спасибо

1 Ответ

7 голосов
/ 23 октября 2010

У меня отлично работает.Я предполагаю, что при программном выполнении командного файла вы ожидаете, что выходной файл будет создан в папке Downloads, тогда как он фактически создается в папке приложения *1003*

Либо полностью укажите путь к выходному файлу в пакетном файле, либо измените рабочий каталог запущенного процесса, например:

proc.StartInfo.WorkingDirectory = @"G:\Media\Downloads\";

Что касается вопроса о получении уведомления о завершении процессаможно использовать метод WaitForExit или событие Exited для объекта Process.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...