Batch file xp批处理脚本mp3info和ffmpeg
我必须检查c:\audio中的许多.mp3音频文件,如果某些参数与我的要求不兼容,则进行修改。我使用mp3info和ffmpeg以及一些.bat脚本来实现这一点Batch file xp批处理脚本mp3info和ffmpeg,batch-file,Batch File,我必须检查c:\audio中的许多.mp3音频文件,如果某些参数与我的要求不兼容,则进行修改。我使用mp3info和ffmpeg以及一些.bat脚本来实现这一点 名为“print.bat”的mp3info命令 mp3info-r v-p“%%f%%Q%%b CRC-%%E%%r\n”*.mp3>result1.txt 还有allinone.bat和这个内容 CALL print.bat for %%i in (result1.txt) do ( FINDSTR "48000 Yes Varia
PS:请注意,mp3info命令的响应时间非常长,并且与c:\audio中.mp3文件的数量和大小成正比。对不起,你的问题是什么?我想他的问题是如何在一个批处理文件而不是两个批处理文件中完成。我可以在1中看到许多
for
变量。,但是对于循环没有;如果您提供更多的代码,了解正在发生的事情可能会非常有帮助……更简单:调用print.bat for%%i in(result1.txt)do(FINDSTR“32000 48000 Yes Variable 320”%%i>result2.txt)for/f“delims=。”%%L in(result2.txt)do复制“%%L.mp3”C:\audio\bad\u files\ for%%a in(“C:\audio\bad\u files\*.*)do”C:\msmtp\audio\ffmpeg.exe“-i”%%a”-编解码器:a libmp3lame-b:a 192k-vsync 2-ar 44100-y“C:\audio\%%~na.mp3“del”C:\audio\bad_files\*.”/F/Q
谢谢大家!在这篇文章中我太困惑了!
CALL print.bat
for %%i in (result1.txt) do (
FINDSTR "48000 Yes Variable" %%i >> result2.txt
)
sleep 1
for /f "tokens=1-2 delims= " %%b in (result2.txt) do (
echo %%b >> result3.txt
echo removed %%a)
sleep 1
@echo off
SET destfolder=C:\audio\bad_files
FOR /F "delims=" %%a IN (result3.txt) DO COPY "%%a" "%destfolder%\%%~nxa"
sleep 1
for %%a in ("C:\audio\bad_files\*.*") do "C:\audio\ffmpeg.exe" -i "%%a" -codec:a libmp3lame -b:a 192k -vsync 2 -ar 44100 -y "C:\audio\ok_files\%%~na.mp3"