@ECHO OFF REM ####################################################################################################################################### REM REM CoverNorm.cmd v1.01 REM REM (c)Detlev Dalitz.20090724.20090725. REM REM This batchfile helps someone to do something ... REM REM ####################################################################################################################################### CLS VERIFY some_input_for_the_errorlevel 2>NUL: SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION IF ERRORLEVEL 1 ( ECHO.Abort. Unable to enable batch extensions. GOTO :EOF ) ENDLOCAL REM ======================================================================================================================================= REM ***** User's tweak section ***** REM SET FOLDER_PATH=M:\MUSIC_FOLDER_TREE REM SET FILE_TYPE=JPG REM SET FILE_NAME_NORM=COVERMAX REM REM REM Note: REM This command script supports only one image file type at a time. REM Variable FILE_NAME_NORM is just the filename without extension. REM Variable FILE_TYPE is used as search filter and also used as file extension part of the new FILE_NAME_NORM filename. REM ======================================================================================================================================= ECHO.[%0] ECHO. ECHO.Are you ready to use the following options? ECHO. ECHO. ECHO.Starting folder: %FOLDER_PATH% ECHO. ECHO.Image file type: %FILE_TYPE% ECHO. ECHO.Normalized cover name: %FILE_NAME_NORM%.%FILE_TYPE% ECHO. ECHO. ECHO.Type [Y] and press [Enter] or press just [Enter] to abort ... SET YesNo= SET /P YesNo= IF /I [%YesNo%] NEQ [Y] GOTO :CANCEL REM Set temporary variables. SET FILE_LIST=%TEMP%\DD.LIST.TXT SET FILE_LIST_MAX=%TEMP%\DD.LIST.MAX.TXT SET FILE_DIR_SORT=%TEMP%\DD.DIRSORT.TXT SET FILE_MAX_MASK=%TEMP%\DD_TMP SET FILE_MAX_WILD=%TEMP%\DD.*.TMP ECHO. ECHO.Step 5.1. ECHO.Collecting and sorting files "%FILE_TYPE%" ... DIR "%FOLDER_PATH%\*.%FILE_TYPE%" /S /A /OS /B /-P >"%FILE_DIR_SORT%" ECHO. ECHO.Step 5.2. ECHO.Analyzing collection ... FOR /F "usebackq delims=" %%a IN ("%FILE_DIR_SORT%") DO ( SET FP=%%~pa SET FP=%FILE_MAX_MASK:_=!FP:^\=^.!% ECHO.%%a>!FP! ECHO.%%a ) DEL "%FILE_DIR_SORT%" >NUL: ECHO. ECHO.Step 5.3. ECHO.Writing result list to file ... DEL "%FILE_LIST%" >NUL: FOR %%a IN ("%FILE_MAX_WILD%") DO ( ECHO.%%a TYPE "%%a" >>%FILE_LIST% DEL "%%a" >NUL: ) ECHO. ECHO.Step 5.4. ECHO.Displaying result file ... REM TYPE %FILE_LIST% START "" %FILE_LIST% ECHO. ECHO. ECHO.Step 5.5. ECHO.Copying maximum sized file to normalized filename ... ECHO. ECHO.Are you ready to do the last step? ECHO.Type [Y] and press [Enter] or press just [Enter] to abort ... SET YesNo= SET /P YesNo= IF /I [%YesNo%] NEQ [Y] GOTO :CANCEL DEL "%FILE_LIST_MAX%" >NUL: FOR /F "usebackq delims=" %%a IN ("%FILE_LIST%") DO ( ECHO.%%a ECHO.%%~dpa%FILE_NAME_NORM%.%FILE_TYPE% ECHO.%%~dpa%FILE_NAME_NORM%.%FILE_TYPE%>>%FILE_LIST_MAX% COPY /Y "%%a" "%%~dpa%FILE_NAME_NORM%.%FILE_TYPE%" >NUL: ECHO. ) START "" %FILE_LIST_MAX% :CANCEL SET YesNo= SET FP= SET FOLDER_PATH= SET FILE_TYPE= SET FILE_NAME_NORM= SET FILE_LIST= SET FILE_LIST_MAX= SET FILE_DIR_SORT= SET FILE_MAX_MASK= SET FILE_MAX_WILD= ECHO. ECHO.Ready. REM #######################################################################################################################################