使用正确的转义路径执行命令

Mot*_*Mot 4 java launching-application

请参阅此超级用户问题.我需要运行命令

explorer.exe /select,"C:\Program Files\foobar"
Run Code Online (Sandbox Code Playgroud)

来自Java.以下Java代码不像上面的命令行调用那样工作(Explorer选择一个完全不同的目录):

Runtime.getRuntime().exec(new String[] {
    "explorer.exe",
    "/select,\"C:\\Program Files\\foobar\""
});
Run Code Online (Sandbox Code Playgroud)

我从纯Java方面有什么其他选择(没有本机代码)?

Rei*_*eus 5

您可以将其/select放在一个单独的String标记中,以阻止它被视为路径的一部分:

Runtime.getRuntime().exec(new String[] {
        "explorer.exe",
        "/select,", 
        "\"C:\\Program Files\\foobar\""
        });
Run Code Online (Sandbox Code Playgroud)