在执行独立的.bat文件时,我可以调用它但是当我将它作为其余的web服务公开时,我收到错误,因为 - 找不到bat文件。
如何设置bat文件的路径来执行它?
@GET
@Path("/triggerMyBat")
public Response triggerMyBat() throws Exception {
//public static void main(String[] args){
try {
String ss = null;
Process p = Runtime.getRuntime().exec("cmd.exe /c start myBat.bat");
BufferedWriter writeer = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
writeer.write("dir");
writeer.flush();
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while ((ss = stdInput.readLine()) != null) {
System.out.println(ss);
}
while ((ss = stdError.readLine()) != null) {
System.out.println(ss);
}
} catch (Exception e) {
System.out.println(e);
} finally {
System.out.println("ok");
}
return Response.status(200).entity("Success").build();
}
答案 0 :(得分:0)
如果你的bat文件位于cmd.exe引用的文件夹中,那么你可以调用它。否则,您需要设置文件的完整路径或将bat的文件夹放在Windows的Environment变量的Path变量中。