迭代子目录并在子目录中创建新文件

Iterate sub directories and create new files in sub-directory

我正在尝试根据子目录中的每个文件 (.mp3) 在每个子目录中创建新文件 (.m4a) directory.For 由于某些原因,新文件是在批处理文件的根目录中创建的放置.

for /R %%a in ("*.mp3") do "C:\Users\bin\ffmpeg" -i "%%a" %%~na.m4a

试试这个:

for /R %%a in ("*.mp3") do "C:\Users\bin\ffmpeg" -i "%%a" "%%~dpna.m4a"

你只给新文件一个文件名,但会在当前工作方向创建文件,这是批处理文件的根目录,除非执行 cd 或 pushd。

通过给 ffmpeg 驱动器+路径,它应该将新文件放在与 mp3 文件相同的目录中。