这是两个函数我在两个函数中使用wevtutil这个参数在bat文件中工作但在这里工作我无法找到在contentDirectory中创建的任何文本文件。 我认为论证有些不对劲。
private void SystemEvents()
{
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WorkingDirectory = contentDirectory;
proc.StartInfo.Arguments = "wevtutil qe system /rd:true /f:text> eventsys.txt";
proc.Start();
proc.WaitForExit();
proc.Close();
}
private void AppEvents()
{
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WorkingDirectory = contentDirectory;
proc.StartInfo.Arguments = "wevtutil qe application /rd:true /f:text> eventapp.txt";
proc.Start();
proc.WaitForExit();
proc.Close();
}
参数有什么问题?
答案 0 :(得分:0)
您的cmd.exe缺少a / c文件。在termainal中键入cmd.exe /?
以获取更多信息。
你也可以改变Arg线:
proc.StartInfo.Arguments = "/c wevtutil qe application /rd:true /f:text";
但实际上我想你想要做这样的事情。
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "wevtutil";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.Arguments = "qe application /rd:true /f:text";
然后重定向stdout / stderr以允许您在C#中处理输出。