程序中调用cmd命令时,参数带有空格的解决办法

程序中调用cmd命令时,参数带有空格的解决方法

比如在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,导致程序出错,解决方法是把传入的参数前后添加双引号。以java为例:

例如 Runtime.getRuntime().exec("cmd /c start "+filepath) ,

假设String filePath = "D:\\document   setting\\a.txt";
解决方法:

filepath = "\"" + filepath + "\""; //先给filepath 两端加上引号 
Runtime.getRuntime().exec("cmd /c start "+"\""+"\" "+ filepath); //再给start后面加一对引号

 

总共要多加2对引号

 

注意:Runtime.getRuntime().exec()中,在第二个\后的第一个"与最后一个"之间要有空格,表示cmd窗口标题为空。