在我最近的任务中,我需要执行一个java命令并从中获取一些值并在我的程序中使用它。
我在网上论坛上看了很多,但非对我有用。
我尝试创建它的bat文件并在我的程序中执行它但是也没有用。
当我在命令提示符中执行它或直接执行bat文件时,它可以工作。但是当我从application / exe执行时它会失败。
我也需要输出。
非常感谢任何帮助。
提前致谢。
答案 0 :(得分:0)
最好的方法是使用流程类,它将允许您捕获标准输出并将输入发送到应用程序。
http://msdn.microsoft.com/en-us/library/System.Diagnostics.Process(v=vs.110).aspx
答案 1 :(得分:0)
示例代码:
// Start the child process.
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "YOURBATCHFILE.bat";
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
这个问题可能会对您有所帮助:How To: Execute command line in C#, get STD OUT results