我使用 Process 类在我的 WPF C# 应用程序中运行 pscp.exe(来自 Putty),如下所示:
Process p = new Process();
p.StartInfo.FileName = "pscp.exe";
p.StartInfo.Arguments = "-v -scp -pw xx toto@192.168.0.1:/path .";
p.Start();
p.WaitForExit();
该过程打开一个命令提示符并正确退出,就可以了。
现在,我想在进程的stderr中登录一个文件,没问题,我使用:
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
我在我的文件中打印流,但外壳中没有显示任何内容(没关系,这是一个重定向)。
我的需要是在 shell 中显示 stderr 并将其复制到我的日志文件中(没有重定向,我想要两次)。
编辑:一个代表我需要的明确示例:想象一个 WPF 应用程序,它有一个调用此函数的按钮:
Process p = new Process();
p.StartInfo.FileName = "pscp.exe";
p.StartInfo.Arguments = "-v -scp -pw xx toto@192.168.0.1:/path .";
p.Start();
p.WaitForExit();
该过程以 cmd 提示符开始(在其中打印 stdout + stderr),同时将 stderr 打印在日志文件中。
有什么想法吗?