2

经过艰苦的研究,我创建了一个batch文件:

for /R  D:\storytelling\MusicFiles %%a in (*.3gp) do ffmpeg -i %%a -y %%~na.mp3

但是,它无法达到我的目标,因为这里的情况有点不同:

这是我的目录结构: 在此处输入图像描述

我在某个路径下有几个目录:D:\storytelling\MusicFiles\并且新目录可以由另一个应用程序创建。我把ffmpeg.exe文件放在这个路径中:D:\storytelling\MusicFiles\.
另外,在每个目录中,我都有数百个.3gp文件,我的目标是将它们转换到它们.mp3所在的目录中used
但是这个脚本

for /R  D:\storytelling\MusicFiles %%a in (*.3gp) do ffmpeg -i %%a -y %%~na.mp3

.3gp每个目录中的每个文件转换为路径:D:\storytelling\MusicFiles\

它导致:在此处输入图像描述
我希望publicUser_XXX.mp3文件仍在目录中publicUser,转换后所有文件都保留在原始目录中。唯一的变化是我获得了具有不同媒体格式的新媒体副本,例如:在此处输入图像描述

请帮助并给我一些建议。

4

1 回答 1

2

试试这个:

@echo off
for /R  D:\storytelling\MusicFiles %%a in (*.3gp) do ffmpeg -i "%%a" -y "%%~dpna.mp3"
于 2013-06-16T12:12:45.200 回答