Question

See this superuser question. I need to run the command

explorer.exe /select,"C:\Program Files\foobar"

from Java. The following Java code does NOT work like the above command line call (the Explorer selects a completely different directory):

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

What other options I have from pure Java side (no native code)?

Était-ce utile?

La solution

You could place the /select in a separate String token to stop it being treated as part of the path:

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

Autres conseils

Try ProcessBuilder. That API allows you to pass in arguments without quoting. See http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html#command(java.util.List)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top