我已经安装了 ffmpeg 并使用批处理文件成功地将 MP4 h.264 转换为 MKV x.265,但是我在将 FLAC 文件转换为 320 kbps MP3 且不需要元数据时遇到了问题。尽管许多帖子解释了如何在 Linux 中执行此操作,但他们的脚本在 Windows 的命令提示符下运行时并不能解决此问题。
我创建的用于转换为 MP3 的命令行脚本有这一行:
for %%A in (*.flac) do ffmpeg -i "%%~nA.flac" -c:v copy -b:a 320k "%%~nA.mp3"
不擅长Powershell,我正在寻找命令行解决方案。我不在乎元数据是否存在。
我该如何修改它以转换当前目录中的所有 FLAC 文件及其下的所有子目录(如上面 Linux 的第一个链接所示)?
以下
.bat
文件应该这样做:您可以先使用以下脚本对其进行测试:
上述替换的解释(它们在上面的脚本中组合):
%~dA
- 仅将 %A 扩展为驱动器号%~pA
- 仅将 %A 扩展为路径%~nA
- 仅将 %A 扩展为文件名你真的需要使用.Flac两次吗?
而且您总是将所有转换后的文件保存在同一个文件夹(工作目录)中吗?
1.删除
n
和.flac
For
循环变量为您提供输入文件的"%%~A"
完整路径,您无需裁剪名称和/或显式添加:2.使用
For /R
:3.考虑定义/添加a
drive:\folder\
来保存目标编码文件,而不仅仅是名称,如果不将其保存在您的bat所在的同一工作目录中。.mp3
在当前/工作目录中,您可以使用:一个建议使用
For /F + where /R
^
,请勿在插入符号后使用任何空格/字符:其他资源:
Set /?
For /?
For /F
For /R
Where /?
Timeout /?
|
,<
,>
,2>
等||
和&&
Local Environment | Function
| 另请参阅:Goto :EOF
Setlocal
&Endlocal
cmd.exe
] 如何解析脚本