无法通过Java命令运行,但可以通过cmd运行命令CreateProcess error=2,系统找不到指定的文件

Unable to run command through Java, but can run it through cmd CreateProcess error=2, The system cannot find the file specified

我无法将我的 mp3 转换为 wav,以便使用 Java 更轻松地进行数据操作。我可以在调试时打开命令提示符并复制存储在 s 中的确切字符串,这将正确创建 wav 文件。代码如下。我能够通过以这种方式构建字符串来使用 ffmpeg,以根据曲目列表将一些 mp3 分成单独的曲目。我重新安装了 Windows 10,所以我假设它与此有关。是否有我必须更改的设置?为什么它会在命令提示符中 运行 而不是 Java?

package mp3towav;

import java.io.File;
import java.io.IOException;

public class Mp3towav {

    // mp3 folder
    public static final String MP3FOLDER = "C:\Users\Al\Documents\Sounds\PokemonOST\YellowOST\MP3";

    public static void main(String[] args) throws IOException {

        // Gets the mp3 files and converts them to wav
        File mp3folder = new File(MP3FOLDER);

        String[] mp3s = mp3folder.list();

        File f;

        String s; 

        for(int i = 0; i < mp3s.length; i++) {
            f = new File(mp3s[i]);
            s = ("ffmpeg -i " + MP3FOLDER + "\" + f.getName() + " " + (MP3FOLDER + "\" + f.getName()).replaceAll("MP3", "WAV").replaceAll("mp3", "wav"));
            Runtime.getRuntime().exec(s);
            System.out.println("test");
        }



    }

}

编辑:

所以我从来没有Java使用PATH,而是在Java.

中添加了ffmpeg可执行文件的绝对路径

我必须将路径添加到 ffmpeg bin,包括文件名 ffmpeg.exe 而不是让 Java 依赖 windows 中的 PATH 变量,即使 ffmpeg 在命令 window.