【发布时间】:2015-03-16 18:38:56
【问题描述】:
我有一个位于C:\app\stuff\dostuff.bat 的批处理文件,它根据您提供的参数对文件系统进行处理。当我打开命令行并像这样运行它时,它工作得非常好:
C:\app\stuff\dostuff.bat zombies
就像我说的,这个调用完美地工作(并且正确地处理了zombies arg)。但是,我现在正尝试从 Java 应用程序内部驱动 dostuff.bat 的执行,如下所示:
try {
Process process = Runtime.getRuntime().exec("C:\\app\\stuff\\dostuff.bat zombies");
process.waitFor();
} catch (IOException|InterruptedException e) {
logger.error(ExceptionUtils.getFullStackTrace(e));
}
当我运行它时,我没有遇到任何异常,但是 显然 没有正确执行批处理脚本(我可以告诉这一点,因为批处理脚本涉及的文件系统的其余部分没有得到应有的修改)。 我是否错误地调用了它?我需要对分叉进程做些什么吗?我该如何调试?
【问题讨论】:
标签: java batch-file runtime.exec