比如在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,导致程序出错,解决方法是把传入的参数前后添加双引号。以java为例:
解决方法:
p = Runtime.getRuntime().exec("cmd /c start "+"\""+"\" "+"\"" +"%cd%/tool/ba t/Start DB.bat"+ "\"");
public static Process StartOracle() {
Process p = null;
try {
p = Runtime.getRuntime().exec(
"cmd /c start "+"\""+"\" "+"\"" +"%cd%/tool/ba t/Start DB.bat"+ "\"");
InputStream i = p.getInputStream();
int c;
while ((c = i.read()) != -1) {
System.out.println((char) c);
}
i.close();
p.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
return p;
}