当前位置: 首页 > 工具软件 > CmdOption > 使用案例 >

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

孟花蜂
2023-12-01

 

    比如在程序中调用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;
 
    }

 类似资料: