我在实际命令提示符下的输出如下所示:
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
(like result.IndexOf("Version:");
) - 但这并没有让我了解版本的价值
任何想法都会有所帮助。