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

Batch file 在多个音乐文件上运行命令行,batch-file,directory,command,flac,Batch File,Directory,Command,Flac,我正在使用一个名为metaflac()的CLI程序来删除计算机上各种FLAC音乐文件中的填充。在批处理文件中使用以下命令(metaflac.exe位于同一文件夹中)成功完成单个文件的此任务: metaflac--不使用填充--删除--块类型=填充“filename.flac” 我必须为数千个文件执行此操作,不想手动/单独执行所有操作。有没有一种简单的方法可以将这个命令直接指向一个目录,并让它作用于其中的每个文件?这会节省我很多时间 谢谢 我使用的是64位Windows 7 for /f "del

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

metaflac--不使用填充--删除--块类型=填充“filename.flac”

我必须为数千个文件执行此操作,不想手动/单独执行所有操作。有没有一种简单的方法可以将这个命令直接指向一个目录,并让它作用于其中的每个文件?这会节省我很多时间

谢谢

我使用的是64位Windows 7

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

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

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


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

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

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

如果要将其放入
.bat
脚本中,请在两个位置将
%I
更改为
%I

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

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

如果你把这个放到
.bat
脚本中,把
%I
两个地方都改成
%I

你赢了我7秒+1.伟人所见略同@L22:Peter Wright的代码用于
.bat
脚本。你比我快了7秒+1.伟人所见略同@L22:Peter Wright的代码用于
.bat
脚本。