Проверка вывода командной строки в C#C#

Место общения программистов C#
Ответить
Anonymous
 Проверка вывода командной строки в C#

Сообщение Anonymous »

Мой вывод в командной строке выглядит следующим образом:

Код: Выделить всё

Name:   My Software
Version:  1.0.1
Installed location: c:\my folder
Я пытаюсь получить этот результат с помощью кода C#

Код: Выделить всё

System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "my command to execute");

// The following commands are needed to redirect the standard output.
// This means that it will be redirected to the Process.StandardOutput StreamReader.
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;

// Do not create the black window.
procStartInfo.CreateNoWindow = true;

// Now we create a process, assign its ProcessStartInfo and start it
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();

// Get the output into a string
string result = proc.StandardOutput.ReadToEnd();
string[] lines = result.Split(new string[] { System.Environment.NewLine, }, System.StringSplitOptions.None);
foreach (string tmp in lines)
{
if (tmp.Contains("Version"))
{
isAvailable= true;
}
}
Я не хочу просто проверять тег версии, я пытаюсь получить значение версии и выполнить сравнение, например, если значение равно 1.0.1, мне бы хотелось получить это значение и провести сравнение с версией 2.0.0.

Я могу использовать indexof(например, result.IndexOf("Version:");< /code>) - Но это не дает мне никакой ценности версии

Любые мысли будут полезны.

Подробнее здесь: https://stackoverflow.com/questions/157 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»