@ECHO OFF CLS REM MP3-TEST.BAT Written by Neil Popham, 2005 (neilpopham@bigfoot.com) SET batchname=MP3-TEST.BAT SET version=1.0.0 TITLE=%batchname%, Version %version% REM ###################################################### REM PLEASE EDIT THE PATH TO LAME.EXE REM ===================================================== SET pathToLame="C:\DOS\LAME.EXE" REM ###################################################### REM Check whether a valid file or folder has been passed IF NOT EXIST %1 DO GOTO NoParams REM Set counters SET /A filesProcessed=0 SET /A numErrors=0 REM Check whether the parameter is a single file or a folder IF %~z1 EQU 0 (CALL :FolderAction %1) ELSE (CALL :FileAction %1) REM Report results ECHO %filesProcessed% file(s) tested. ECHO %numErrors% file(s) returned an error. REM Pause ECHO. ECHO Press any key to exit PAUSE >NUL REM End GOTO:EOF REM ========================================== REM FileAction : single file has been passed REM ========================================== :FileAction REM Check whether a valid APE file has been passed IF /I [%~x1] NEQ [.mp3] GOTO NoParams REM Call Test for the single file CALL :Test %1 GOTO:EOF REM ======================================= REM FolderAction : folder has been passed REM ======================================= :FolderAction REM Check folder and subfolders for APE files and call Test for each file ECHO Checking: "%~1" ECHO. FOR /R %1 %%G IN (*.mp3) DO CALL :Test "%%G" GOTO:EOF REM ==================================== REM Test : Test MP3 file REM : %1 The MP3 file to test REM ==================================== :Test ECHO Decoding: "%~1" ECHO ________________________________________________________________________ %pathToLame% --decode %1 "%~dp1temp.wav" REM If an error code has been returned increase the error counter SET errLevel=%ERRORLEVEL% IF %errLevel% GTR 0 SET /A numErrors+=1 REM Delete temporary WAVE file DEL "%~dp1temp.wav" ECHO. ECHO. REM Increase file counter SET /A filesProcessed+=1 GOTO:EOF REM ===================================================== REM NoParams : neither a file or folder has been passed REM ===================================================== :NoParams ECHO To run this script, please pass a valid MP3 file or folder as a parameter. ECHO. ECHO Press any key to exit PAUSE >NUL