【发布时间】:2016-12-07 15:24:03
【问题描述】:
这已经让我发疯了一段时间,我一直无法正确弄清楚。我无法获得循环或一批多个文件来执行命令,然后将它们与输入的文件名一起输出,但略有更改。
这很简单,我知道,但我想不通。
最简单的例子是转换音频文件。我有数百甚至数千个我想同时以完全相同的方式进行转换。
以 sox.exe 为例,我想将文件夹中的所有 24 位 FLAC 文件转换为 16 位 wav 文件...单个文件命令是: sox.exe [inputfile] -b 16 [outputfile] rate 44100 抖动 -s
使用 *.flac 似乎对输入工作正常,但输出似乎永远无法正常工作。有人可以告诉我在这种情况下创建循环的正确代码...是使用 for /f 命令还是类似的东西?
我将使用我每次运行的脚本或可以放入名为 convert.bat 的批处理文件中的脚本,然后我可以将一个文件夹或我想要处理的所有文件拖放到其中.
...类似的东西 对于 *.flac 中的 i; sox.exe "$i" -b 16 "$i.wav" 速率 44100 抖动 -s;完成
谢谢
【问题讨论】:
-
当前的 flac 目录为
for %i in (*.flac) do "X:\path\to\sox.exe" "%i" "X:\destination\%~ni.wav"。只需添加您需要的选项。
标签: loops batch-file cmd