我捕获了这样的流程的输出和退出代码:
Process proc = new Process
{
StartInfo =
{
RedirectStandardOutput = true,
UseShellExecute = false,
FileName = Environment.SystemDirectory + "\\netsh.exe",
Arguments = "http delete urlacl url=http://+:8080/my/Url/Suffix"
}
};
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
string output = proc.StandardOutput.ReadToEnd();
当我检查退出代码时,它是
1
当我检查过程的输出时,它是
网址预订删除失败,错误:2
系统找不到指定的文件。
输出正是我所期望的。我正在尝试删除不存在的预订。我需要的是隐藏在输出内部的错误代码。我是否需要编写自己的自定义解析器,其中考虑了netsh可能会给我的所有奇怪消息?
有没有一种简单的方法来获取错误代码?