呵呵,刚给客户解决了在C#里运行命令行的例子,顺便整理了一下Java的例子,大家参考对比一下 Java的 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; /** * Java运行命令行的例子 * * @author JAVA世纪网(java2000.net) */ public class TestProcess { public static void main(String[] args) { try { // 如果需要启动cmd窗口,使用 // cmd /k start ping 127.0.0.1 -t Process p = Runtime.getRuntime().exec("ping 127.0.0.1 -t"); InputStream is = p.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } p.waitFor(); is.close(); reader.close(); p.destroy(); } catch (Exception ex) { ex.printStackTrace(); } } } C# 的 using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.IO; /** * C# 运行命令行的例子 * * @author JAVA世纪网(java2000.net) */ namespace ConsoleApplication1 { class TestProcess { public static void executeCommand() { ProcessStartInfo start = new ProcessStartInfo("Ping.exe");//设置运行的命令行文件问ping.exe文件,这个文件系统会自己找到 //如果是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe start.Arguments = "127.0.0.1 -t";//设置命令参数 start.CreateNoWindow = true;//不显示dos命令行窗口 start.RedirectStandardOutput = true;// start.RedirectStandardInput = true;// start.UseShellExecute = false;//是否指定操作系统外壳进程启动程序 Process p = Process.Start(start); StreamReader reader = p.StandardOutput;//截取输出流 string line = reader.ReadLine();//每次读取一行 while (!reader.EndOfStream) { Console.Out.WriteLine(line); line = reader.ReadLine(); } p.WaitForExit();//等待程序执行完退出进程 p.Close();//关闭进程 reader.Close();//关闭流 } } } 运行结果相同,大家自己看吧