Имитировать пакетный файл с C #

2

У меня есть командный файл, который запускает четыре команды

vsinstr -coverage hello.exe
vsperfcmd /start:coverage /output:run.coverage
hello
vsperfcmd /shutdown

Как я могу использовать С# для запуска четырех команд?

Теги:
batch-file

3 ответа

2
Лучший ответ

Запустите команды, используя Process.Start.

Пример

Использование переопределения Process.Start(string fileName, string arguments)

Process.Start("vsinstr", "-coverage hello.exe");
Process.Start("vsperfcmd", "/start:coverage /output:run.coverage");
Process.Start("hello");
Process.Start("vsperfcmd", "/shutdown");
  • 0
    Ба! Ты подтолкнул меня на это! :) Отредактировал свой ответ на примере.
  • 0
    @Filip: Ну, вы были быстрее с примером, чем я, только собирались опубликовать некоторые на (я забыл, на каком языке это было и написал в VB, а затем немного времени, чтобы загрузить онлайн-конвертер и т. Д.). Спасибо хоть.
3

Добавьте эту команду в пакетный файл и используйте приведенный ниже код для запуска

 ProcessStartInfo startInfo;
 System.Diagnostics.Process batchExecute;

 startInfo = new ProcessStartInfo("batchFilePath");
 startInfo.CreateNoWindow = true;
 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
 startInfo.UseShellExecute = true;
 startInfo.Verb = "runas";

 batchExecute = new System.Diagnostics.Process();
 batchExecute.StartInfo = startInfo;

 batchExecute.Start();

 batchExecute.WaitForExit();
  • 2
    Если для параметра Verb значение "runas" , процесс будет повышен, включая все необходимые запросы UAC. Если вам не нужно повышать уровень, не устанавливайте это свойство (или устанавливайте его как "open" ).
0

Поскольку у вас уже есть пакетный файл, почему бы не запустить его с С# вместо запуска команд из него с С#? Например: Process.Start

Ещё вопросы

Сообщество Overcoder
Наверх
Меню