当我直接在 DOS 中执行批处理文件时,一切都按预期运行。但是当我从 Java runTime 执行批处理文件时,它只会运行调用 jar 文件的命令(即调用 JVM)。它不运行任何本机 dos 命令。
一个问题是我没有控制台知道为什么会这样。我想知道这是否是权限问题,但我不知道。有谁以前见过这个?
使用的 Java 代码如下所示:
Runtime.getRuntime().exec("c:\targetFolder\myBatch.bat"); //(为简单起见,在此编辑。)
批处理文件看起来像这样(注意我已经简化了它):
myBatch.bat:
call java myJar.jar blah blah --- 是
copy outputFile.out outputFile.bak --- NO
mkdir testDir --- NO
call java myJar.jar blah blah --- 是
call someOther.bat --- NO
---yes 行运行良好,我看到了预期的结果
---no 行没有运行,但我不知道为什么不 b/c 没有控制台告诉我。
谢谢你的帮助!!麦克风