Запуск командного файла - PullRequest
0 голосов
/ 23 марта 2011

У меня есть следующий код:

String Antcbatchpath = @"C:\GUI\antc.bat";

System.Diagnostics.Process runantc = new System.Diagnostics.Process();
runantc.StartInfo.FileName = Antcbatchpath;
runantc.StartInfo.UseShellExecute = false;
runantc.StartInfo.RedirectStandardOutput = true;
runantc.StartInfo.RedirectStandardError = true;
runantc.Start();

Будет ли это загружать командный файл из C:\GUI\antc.bat?

Или runantc.StartInfo.FileName только для корневого каталога?Корневой каталог - это место, где находится приложение

РЕДАКТИРОВАТЬ 1:

привет вместо @ "C: \ GUI \ antc.bat" у меня есть путь:

String Antcbatchpath =@"C:\GUI Lab Tools\Build Machine\antc.bat";

который по существу содержит пробелы.повлияет ли это на runantc.StartInfo.Filename = Antcbatchpath;?

Ответы [ 2 ]

5 голосов
/ 23 марта 2011

UseShellExecute = true должен сделать это.

В качестве альтернативы, если вам нужно перенаправление, используйте:

runantc.StartInfo.FileName = "CMD.EXE";
runantc.StartInfo.Arguments = "/C " + Antcbatchpath;
0 голосов
/ 23 марта 2011

Вы можете попытаться установить WorkingDirectory, чтобы предотвратить любую двусмысленность, но, по моему опыту, в этом нет необходимости.

Проблема в том, что antc.bat не является исполняемым файлом.Требуется UseShellExecute, чтобы быть правдой, но это помешает вам перенаправить вывод.Я думаю, вам придется выбрать любой из них.

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