请参阅this superuser问题。我需要运行命令
explorer.exe /select,"C:\Program Files\foobar"
来自Java。以下Java代码不像上面的命令行调用那样工作(Explorer选择一个完全不同的目录):
Runtime.getRuntime().exec(new String[] {
"explorer.exe",
"/select,\"C:\\Program Files\\foobar\""
});
我从纯Java方面获得了哪些其他选项(没有本机代码)?
答案 0 :(得分:5)
您可以将/select
放在单独的String
令牌中,以阻止将其视为路径的一部分:
Runtime.getRuntime().exec(new String[] {
"explorer.exe",
"/select,",
"\"C:\\Program Files\\foobar\""
});
答案 1 :(得分:0)
尝试ProcessBuilder。该API允许您在不引用的情况下传入参数。 见http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html#command(java.util.List)