我有大约90 000 .m4a
个录音,所有录音都根据目的分组在各个子文件夹中。我想将每个转换为.wav
,然后在成功转换后删除原始.m4a
。由于我无法控制的原因,我在容量有限的Windows机器上执行此操作。我需要删除,因为我没有空间来保留两个版本。
我已经存储了所有文件的位置,并且可以使用ffmpeg
和DEL迭代地轻松生成批处理文件以进行转换和删除(这是我在几个地方看到的解决方案)。但有没有办法在删除之前检查转换是否成功?我真的不想意外丢失数据。
答案 0 :(得分:0)
确保一切正常无法完美检查,但您可以使用类似的方法来确保目标文件存在且至少包含几个字节:
@echo off
setlocal
rem configuration values, toconvert should probably come from %1
set toconvert=source file.mp3
set minsize=100
for %%a in ("%toconvert%") do (
set target=%%~da%%~pa%%~na.wav
)
rem replace with a real call to ffmpeg
echo call ffmpeg -i "%toconvert%" "%target%"
set size=0
if exist "%target%" (
for %%a in ("%target%") do (
set size=%%~za
)
)
if %size% LSS %minsize% (
echo ERROR: The file is too small!
) ELSE (
rem replace with a real call to del
echo del "%toconvert%"
)