在下面的C#代码中,我收到错误,
ProcessStartInfo psi = new ProcessStartInfo("logman.exe")
{
RedirectStandardOutput = true,
Arguments = "FabricTraces | findstr Root",
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = false
};
Process proc = Process.Start(psi); ;
StreamReader myOutput = proc.StandardOutput;
proc.WaitForExit(20000);
if (proc.HasExited)
{
Console.WriteLine( myOutput.ReadToEnd());
}
错误,
Argument '|' is unknown.
Argument 'findstr' is unknown.
Argument 'Root' is unknown.
我需要传递下面的论点,怎么做?谢谢你的回答。
FabricTraces | findstr Root
在控制台中输出
C:> logman.exe FabricTraces | findstr Root 根路径:C:\ ProgramData \ Windows Fabric \ Fabric \ log \ Traces \
C:>
答案 0 :(得分:0)
ProcessStartInfo
接受带引号内的空格的参数,并将它们解释为多个参数。所以你应该用双引号来包装它。 (据我所知,你应该将一个论点传递给过程)
startInfo.Arguments = "\"FabricTraces | findstr Root\"";
现在它应被视为一个参数而不是3个空格分隔的参数。