lpr命令的ProcessStartInfo获得空的StandardError结果

时间:2018-07-20 10:42:01

标签: c# .net command-line printing windows64

我已经在cmd上尝试了此命令。

lpr -S 127.0.0.1 -P testP -J testJ D:\output\test.txt >> d:\result.txt

它有效,结果写在“ d:\ result.txt”中

Error: could not open D:\output\test.txt for reading.

但是当通过ProcessStartInfo运行lpr命令时

int exitCode;
ProcessStartInfo processInfo;
Process process;
var cmdcommand = @"lpr -S 127.0.0.1 -P testP -J testJ D:\output\test.txt >> d:\result.txt";

processInfo = new ProcessStartInfo(@"cmd.exe", "/c " + cmdcommand);
processInfo.CreateNoWindow = false;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;

process = new Process();
process.StartInfo = processInfo;
process.Start();
process.WaitForExit();
string texterror = process.StandardError.ReadToEnd();
string textoutput = process.StandardOutput.ReadToEnd();
exitCode = process.ExitCode;
process.Close();

“ d:\ result.txt”中未显示任何错误 我需要通过代码捕获一些错误结果。 谢谢高级

PS。我使用的是Windows 10 64位,并且固定的lpr无法从此处C# - LPR Command to Print PDF Files

通过使用Joe G解决方案运行

PS2。抱歉语法错误。

0 个答案:

没有答案