在多个音乐文件上运行命令行

时间:2013-04-18 15:02:55

标签: batch-file directory command flac

我正在使用名为metaflac(http://flac.sourceforge.net/documentation_tools_metaflac.html)的CLI程序来删除计算机上各种FLAC音乐文件的填充。在批处理文件中使用以下命令(在同一文件夹中使用metaflac.exe)成功完成单个文件的此任务:

metaflac --dont-use-padding --remove --block-type = PADDING“filename.flac”

我必须为数千个文件执行此操作,并且不希望手动/单独执行所有操作。有一个简单的方法让我只需将此命令指向一个目录并让它对每个文件起作用吗?这样可以节省很多时间。

谢谢!

我使用的是Windows 7 64位。

2 个答案:

答案 0 :(得分:2)

不确定。你可以使用cmd提示符中的单行代码来完成。

for /f "delims=" %I in ('dir /s /b *.flac') do metaflac --dont-use-padding --remove --block-type=PADDING "%I"

如果您将其添加到.bat脚本中,请在两个位置将%I更改为%%I

答案 1 :(得分:1)

for /f "delims=" %%i in ('dir /s /b /a-d "C:\start\directory\*.flac"') do (
 metaflac --dont-use-padding --remove --block-type=PADDING "%%~fi"
)

应该为您执行此操作,从“C:\ start \ directory”扫描所有.flac文件的整个目录树,并使用您的参数对每个文件执行metaflac

为安全起见,建议您先尝试一个小的复制子树。