0

我想知道打开cmd.exe(命令提示符窗口)后如何输入命令?

我有下面的代码来打开 cmd.exe:

Runtime rt= Runtime.getRuntime(); 
Process process= rt.exec("cmd.exe /c start cd c:\\ExecutionSDKTest_10.2.2");

但是打开后,我想输入“ant compile”或任何一行,我该怎么做?

4

4 回答 4

2

执行此操作的正常方法是将命令放在脚本中并执行脚本。

您将需要在单独的线程上使用子进程的输出(stdout 和 stderr),否则您的进程将阻塞。

于 2012-06-25T14:39:53.463 回答
1

你不需要打开命令行来编译一个正在运行的程序,看看这个如何在另一个java程序中编译和运行java程序?

于 2012-06-25T14:20:12.693 回答
1

不完全是你问题的答案。但是您可以使用ProcessBuilder设置您的进程当前目录(因此您不再需要调用“cd ...”)

于 2012-06-25T14:36:44.167 回答
1

尝试将列表传递给ProcessBuilder

  final List<String> l = new ArrayList<String>();
    final String cmd = "C:/Program Files/Java/jre6/bin/";
    l.add("C:\\WINNT\\system32\\cmd.exe ");
    l.add("cd " + cmd);
    l.add("dir");
    l.add("java.exe -version");
于 2012-06-25T14:36:52.517 回答