从 Java 调用在 cmd 中执行 .bat 啥都不做

Posted

技术标签:

【中文标题】从 Java 调用在 cmd 中执行 .bat 啥都不做【英文标题】:Calling execution of a .bat in cmd from Java does nothing从 Java 调用在 cmd 中执行 .bat 什么都不做 【发布时间】:2021-07-17 00:57:20 【问题描述】:

出于教育目的,我被要求使用 Java 调用 .bat 槽 cmd 的执行。

作为起点,我做了这个小代码,我知道它应该可以工作,但是执行该类什么也没做,而运行 .bat 则按预期工作。

Java:

Runtime.getRuntime().exec("cmd /c start myDir.bat");

myDir.bat 的内容(位于 Java 类的同一文件夹中):

dir > file_list.txt

双击.bat生成并填充文件。

【问题讨论】:

【参考方案1】:

你可以执行:Runtime.getRuntime().exec("myDir.bat"); 或为您的 bat 文件提供 absolutePath。 您还可以使用 java Thread 从 myDir.bat 获取 OUTPUT 和 OUPUT ERROR。

如果你是多个参数,你在exec方法上放一个数组字符串,例如: String[] p = "cmd","/c","start","myDir.bat"; Runtime.getRuntime().exec(p);

【讨论】:

以上是关于从 Java 调用在 cmd 中执行 .bat 啥都不做的主要内容,如果未能解决你的问题,请参考以下文章

用Javascript调用cmd并执行命令

如何使用Java执行cmd命令

初学java。。代码中里有cmd是代表啥呢

如何用bat在另一个cmd里输入指令并执行?

bat命令中啥命令可以让某一行的指令重复执行

CMD 执行 BAT 执行 CMD