所以我正在研究一个java项目,在某些时候我必须执行批处理文件(在代码中)。
如果我在Windows资源管理器中双击运行它,批处理文件运行正常, 和/或即使我在命令提示符下编写命令它运行正常。
但是,当我从java代码调用该文件时,命令提示符将启动并说它不是可识别的命令,程序或批处理文件。
补丁文件看起来像这样:
ffmpeg -re -i C:/001.mp3 -c:a mp3 -ar 12000 -f mulaw -f rtp rtp://127.0.0.1:1234
以下是我在java代码中调用它的方式:
Runtime.getRuntime().exec("cmd /c start c:\\encode.bat");
我可能会在java运行时添加命令提示符,它以管理员身份运行,并且我已经包含了ffmpeg路径,无论如何都要由任何用户运行。
对不起,如果我错过了任何重要的细节,如果有人需要进一步的细节来解决我的困境,我很乐意提供这些细节。
为什么会这样?
编辑: 我在另一台电脑上尝试了相同的代码并且工作正常,有人可以向我解释为什么在命令提示符通过java运行时命令不会被识别