我想使用ffmpeg将多个.mp4文件转换为.mp3。以下是我提出的建议:
cd (the folder I want to use)
set counter = 1
for /r %%file in (*) (
ffmpeg %%file -i "Track %counter%.mp3"
set counter = counter + 1
)
但它没有用。我猜测我犯了一些基本的语法错误,但我无法弄清楚是什么。我做错了什么?
答案 0 :(得分:0)
除了算术/a
表达式
::更正确
set / a counter = 1
::也因为/a
而起作用
set / a counter = 1
for中变量的名称仅限于一个字母字符a-z A-Z
for / r%f
块(..)
中的扩展在for命令开始之前完成,以避免此setlocal enabledelayedexpansions
或调用函数,也可以使用echo before命令来帮助调试
一起
:: cd (the folder I want to use)
set /a counter=1
for /r %%f in (*.*) do (
call :proc %%f
set /a counter=counter+1
)
:: to avoid to execute following functions
@goto :eof
:: functions
:proc
@echo ffmpeg -i %1 "Track %counter%.mp3"
@goto :eof
答案 1 :(得分:0)
@echo off
mkdir converted
for %%a in ("*.mp4") do ffmpeg -i "%%a" -b:a 192K -vn "converted\%%~na.mp3"
pause