linuxにてffmpegでaiffが入っているフォルダをmp3に一括で変換したいのですが、
javaでバッチ処理のforコマンドを使うとエラーが出てしまいます。どうすればいいでしょうか。
windowsからtera termを使用し、linuxにて以下のコマンドを入力すると変換ができます。
for x *.aiff; do ffmpeg -i ディレクトリまでのパス/$x -ab 64k ディレクトリまでのパス/${x%aiff}mp3; done
しかし、以下のようにjavaの実行可能jarファイルをjava -jar jar名 で実行すると
"for"というディレクトリがないとエラーになります。
public class Aifftomp3{
//static final String FILEDIRECTORY = "ディレクトリまでのパス";
public static void main(String[] arg){ ArrayList<String> cmd = new ArrayList<String>(); cmd.add("for"); cmd.add("x"); cmd.add("*.aiff;"); cmd.add("do"); cmd.add("ffmpeg"); cmd.add("-i"); cmd.add("ディレクトリまでのパス/$x"); cmd.add("ディレクトリまでのパス/${x%aiff}mp3;"); cmd.add("done"); System.out.println(cmd.toString()); ProcessBuilder converter = new ProcessBuilder(); converter.command(cmd); try { converter.start(); } catch (Exception e) { e.printStackTrace(); System.out.println(e); } }
}
後、ファイルの名前、変更後の名前をstatic final Stringとかでメンバ変数にしたいのですが、
単一のファイル変換でもできませんでした。
こちらもどうすれば変換できますか。
回答2件
あなたの回答
tips
プレビュー