Thanks, I should have thought of RazorLame since that's what I use for encoding
Anyway I wrote a batch file to do the job. Just in case anyone is interested here it is (save as relame.cmd or anyother name you like):
@ECHO OFF
REM --------------------------------
SET lame=--alt-preset 128
REM --------------------------------
IF NOT EXIST %1 GOTO no_source
IF [%2]==[] GOTO no_destination
ECHO.
ECHO Using LAME command line: %lame%
ECHO.
FOR /R %1 %%i IN (*.mp3) DO ( MD "%2%%~pi" & lame --mp3input %lame% "%%i" "%2%%~pnxi" )
GOTO end
:no_source
ECHO.
ECHO ERROR: The SOURCE directory cannot be found.
:no_destination
ECHO.
ECHO Syntax: %0 SOURCE DESTINATION
ECHO.
ECHO This batch file will invoke lame to recusively re-encode
ECHO all the files from the SOURCE folder and place them into
ECHO the DESTINATION folder.
ECHO.
ECHO The lame command line can be changed by editing the
ECHO "SET LAME=..." line in this batch file.
ECHO.
:end
This uses on-the-fly decoding/re-encoding within lame. If you prefer to use madplay for decoding,
If you prefer to use MADPLAY for decoding replace the "FOR ..." line with the following:
FOR /R %1 %%i IN (*.mp3) DO ( MD "%2%%~pi" & ( madplay -v -o wave:"%TEMP%%%~ni.wav" "%%i" && lame %lame% "%TEMP%%%~ni.wav" "%2%%~pnxi" ) & DEL "%TEMP%%%~ni.wav" )
This works straightaway from the CD. The only caveat is the non .mp3 files are not copied.