从 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 啥都不做的主要内容,如果未能解决你的问题,请参考以下文章