简体   繁体   中英

Running cmd with spaces from java

I want to run a command through java session. The command contains spaces. as "C:\\With Space\\sample.exe" -command_option "C:\\Source File\\test.c" This works if

C:\WithoutSpace\sample.exe -command_option "C:\Source File\test.c"

if we keep the quotes in C:\\With Space\\sample.exe we get error as :'The filename, directory name, or volume label syntax is incorrect.' and if we remove the quotes then the exe do not run... please guide.

Thanks,

Try this:

String[] arg = {"cmd","/c","C:/Source File/test.c"};
ProcessBuilder pb = new ProcessBuilder(arg);
Process pr = pb.start();   

Also, you can use Runtime.exec(String[]) version

Example:

Runtime rt = Runtime.getRuntime();
String[] args = { "cmd", "/c", "C:/Source File/test.c"};
try
{
    Process proc = rt.exec(processCommand);
}

You can try this:

Process process = Runtime.getRuntime().exec("'C:\WithoutSpace\sample.exe' -command_option 'C:\Source File\test.c'");
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));

while ((line = in.readLine()) != null) {
    //line contain command output
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM