如何对文件夹中的所有mp3进行操作?

时间:2017-09-15 13:02:22

标签: batch-file

我正在尝试加快C:\MP3\AudioBooks\The Idea Factory文件夹中所有mp3文件的速度。我可以这样做任何单独的文件,并取得成功:

sox --show-progress "C:\MP3\AudioBooks\The Idea Factory\002.mp3" "C:\MP3\AudioBooks\The Idea Factory\speedy\002.mp3" tempo 1.3

但是我迷失了cmd-line循环逻辑:

FOR %%I in ("C:\MP3\AudioBooks\The Idea Factory\*.mp3") DO (
   echo %%I
   echo %~pI
   echo %~nI
)

你可以看到我现在只是做回声,不知道如何根据输入路径改变输出路径,无论如何第二和第三回声声明都会爆炸。第一个工作。

最简单的方法是获取文件夹路径输入,遍历所有mp3文件(没有子文件夹,只需mp3),然后只需对每个文件执行我的sox命令,输出mp3进入speedy子文件夹?

1 个答案:

答案 0 :(得分:1)

也许:

For %%I In ("C:\MP3\AudioBooks\The Idea Factory\*.mp3"
) Do sox --show-progress "%%I" "%%~dpIspeedy\%%~nxI" tempo 1.3