1

在这里,我正在尝试从 java 程序运行 bat 文件。我想从 c:\File\Create.bat 运行 bat 文件,但是当我运行代码时,它正在我的 java 程序所在的 d:\NetBeansPeoject\test.java 中搜索,为什么?

这里的代码:

try
{
    ProcessBuilder pb = new ProcessBuilder("c:\\File\\Create.bat");
   Process p = pb.start();

}
catch (IOException e)
 {
e.printStackTrace();
}
    }
}
4

1 回答 1

3

使用ProcessBuilder,您可以调用 start() 来执行命令。在调用 start() 之前,您可以控制如何创建进程。如果您希望进程在不同的目录中启动,则不要将 File 作为命令行参数传入。相反,您通过将 File 传递给 directory() 方法来设置流程构建器的工作目录:

   public ProcessBuilder directory(File directory)
于 2011-02-20T20:00:47.283 回答