0

我正在使用名为 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 位。

4

2 回答 2

2

当然。cmd您可以使用提示符中的单行来完成此操作。

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

如果要将其放入.bat脚本中,请在两个地方都更改%I为。%%I

于 2013-04-18T15:24:57.843 回答
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

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

于 2013-04-18T15:24:47.200 回答