使用C#和获得信息转换为字符串运行shell命令[复制](Run shell commands us

2019-07-21 01:32发布

这个问题已经在这里有一个答案:

  • 获得从过程的返回值 2回答
  • 阅读从另一个运行的应用程序输出 3个回答

我想从C#运行shell命令,并使用我的程序中返回的信息。 所以,我已经知道,从运行终端,我需要做一些类似的东西

string strCmdText;
strCmdText= "p4.exe jobs -e";
System.Diagnostics.Process.Start("CMD.exe",strCmdText);

所以现在执行的命令,并从这个命令的一些信息返回...我的问题是如何使用我的程序信息,很可能是与命令行参数,但不知道...

我知道,它更容易使用脚本语言如Python做到这一点,但确实需要使用C#

Answer 1:

您可以重定向与输出的ProcessStartInfo 。 有一个关于实例MSDN和SO 。

EG

Process proc = new Process {
    StartInfo = new ProcessStartInfo {
        FileName = "program.exe",
        Arguments = "command line arguments to your executable",
        UseShellExecute = false,
        RedirectStandardOutput = true,
        CreateNoWindow = true
    }
};

然后启动进程并从中读取:

proc.Start();
while (!proc.StandardOutput.EndOfStream) {
    string line = proc.StandardOutput.ReadLine();
    // do something with line
}

根据您所要完成的,你可以实现很多的还有很多的东西。 我写的应用程序,asynchrously数据传递到命令行,并读取它。 这样的例子不容易在一个论坛上公布。



文章来源: Run shell commands using c# and get the info into string [duplicate]
标签: c# .net shell