gpt4 book ai didi

java - 从 Java 运行时执行批处理文件时, native DOS 命令无法运行

转载 作者:行者123 更新时间:2023-11-29 04:03:29 25 4
gpt4 key购买 nike

当我直接在 DOS 中执行批处理文件时,一切都按预期运行。但是当我从 Java runTime 执行批处理文件时,它将只运行调用 jar 文件的命令(即调用 JVM)。它运行任何 native dos 命令。

一个问题是我没有控制台知道为什么会这样。我想知道这是否是权限问题,但我不知道。有人以前看过这个吗?

使用的 Java 代码如下所示:

Runtime.getRuntime().exec("c:\targetFolder\myBatch.bat"); // (Edited here for simplicity.)


批处理文件看起来像这样(注意我已经简化了它):
我的批处理.bat:

call java myJar.jar blah blah --- yes
copy outputFile.out outputFile.bak --- NO
mkdir testDir --- NO
call java myJar.jar blah blah --- yes
call someOther.bat --- NO

---yes 行运行良好,我看到了预期的结果
---no lines not 运行,但我不知道为什么不运行 b/c 没有控制台告诉我。

感谢您的帮助!!迈克

最佳答案

您必须运行 Windows 命令处理器(shell),将批处理文件作为参数提供给它。

Runtime.getRuntime().exec( "cmd.exe /C c:\\targetFolder\\myBatch.bat" );

关于java - 从 Java 运行时执行批处理文件时, native DOS 命令无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1849254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com