无法使用Java Servlet在cmd中打开或执行命令

时间:2018-09-26 10:07:31

标签: java file

要使用Java Servlet执行echot.BAT文件。我使用了以下代码。

Process croppingProcess =  Runtime.getRuntime()
                .exec("C:Windows/system32/cmd /c echot.BAT", null, new File("C:restapi_bat/echot"));
                int processOutput = croppingProcess.waitFor();
                if(processOutput == 0){
                    success = true;
            //do your work here
        }

但出现错误

  

“ C:Windows / system32 / cmd”(在目录“ C:restapi_bat \ echot”中):   CreateProcess错误= 267,目录名称无效

C:\ restapi_bat中的文件echot.BAT
注意:使用tomcat 7

2 个答案:

答案 0 :(得分:0)

您应该使用C:\\ Windows \\ system32 \\ cmd,而不是使用C:Windows / system32 / cmd,因为Windows用\分隔。 /分隔符在Linux中。而且您必须转义\,所以请使用\\。

答案 1 :(得分:0)

使用逃逸和开始,蝙蝠执行以下解决方案

Process croppingProcess =  Runtime.getRuntime()
                .exec("C:\\Windows\\System32\\cmd.exe /C Start C:\\restapi_bat\\echot ");
                int processOutput = croppingProcess.waitFor();
                if(processOutput == 0){
                    success = true;
            //do your work here
        }