我一直在与Java争吵,试图在Windows中运行exe命令,我可以启动记事本,但每次尝试传递参数时我什么也得不到。我在最近几天搜索了大量有用的方法来启动exe文件,但我简直无法弄清楚为什么没有人会使用参数运行。这是我今天尝试过的一个例子,使用ProcessBuilder作为初学者。
public static void main(String[] args) throws Exception{
ProcessBuilder p = new ProcessBuilder("C:/my/path/phantomjs.exe", "script.js", "site.com", ">", "output.txt");
p.start();
}
答案 0 :(得分:3)
重定向(>
字符)实际上不是命令的一部分。它由cmd.exe(或Unix / Linux shell)解析。
你想要这个:
ProcessBuilder p = new ProcessBuilder("C:/my/path/phantomjs.exe", "script.js", "site.com");
p.redirectOutput(new File("output.txt"));
p.start();
您可能应该查看可用的所有ProcessBuilder methods摘要。