@echo off

rem =========================================================================
rem rinomina.bat   (c) andrea set 2008
set VERSIONE=1.4
rem consente di rinominare progressivamente tutte le immagini in un direttorio
rem cambiando il nome con un prefisso richiesto all'utente
rem =========================================================================



rem *********************************************
rem EQU  	equal to
rem NEQ 	not equal to
rem LSS 	less than
rem LEQ 	less than or equal to
rem GTR 	greater than
rem GEQ 	greater than or equal to
rem Comparison operators
rem *********************************************

rem *********************************************
rem NOTE sull'espansione delle variabili di ambiente
rem
rem %VAR% espande una variabile di ambiente
rem la prossima riga ritarda l'espansione delle variabil
rem setlocal EnableDelayedExpansion
rem !var! invece esegue immediatamente l'espansione
rem *********************************************



setlocal EnableDelayedExpansion

cls
echo ====================================================================
echo Il programma rinomina un direttorio di immagini 
echo tenendo l'ordine progressivo originale delle immagini
echo e cambiando i nomi componendo i nuovi nomi come:
echo -
echo -  SUFFISSO-NNN.JPG
echo -
echo ATTENZIONE: non sono ammessi spazi nel SUFFISSO
echo -
echo ====================================================================
set /P SUFFISSO=Inserire il Suffisso desiderato:

if !SUFFISSO!NUL EQU NUL (
	cls
	echo ===================================================
	echo -
	echo ERRORE: Non e' stato assegnato il suffisso
 	echo Impossibile continuare
	echo -
	echo ===================================================
	goto FINE
)  ELSE (
	cls
	echo Il direttorio verrą rinominato come  !SUFFISSO!-####.JPG
	echo -------------------------------------------------------
	pause
)


set CONTA=0
set MAXI=0
set NOMEFILE=

rem calcola quante foto ci sono

FOR %%i IN (*.JPG) DO (
	set /a MAXI+=1
)
echo Maxi: !MAXI!

FOR %%i IN (*.JPG) DO (
	set SRC=%%i
	set /a CONTA+=1

	rem attenzione il test DEVE essere fatto decrescente!
	if !MAXI! LEQ 9999 (
		rem esegue un trim a 0000
		set NOMEFILE=0000!CONTA!
		set NOMEFILE=!NOMEFILE:~-4!
	)
	if !MAXI! LEQ 999 (
		rem esegue un trim a 000
		set NOMEFILE=000!CONTA!
		set NOMEFILE=!NOMEFILE:~-3!
	)
	if !MAXI! LEQ 99 (
		rem esegue un trim a 00
		set NOMEFILE=00!CONTA!
		set NOMEFILE=!NOMEFILE:~-2!
	)
	
	set NOMEFILE=!SUFFISSO!-!NOMEFILE!.jpg
	echo Nomefile: !NOMEFILE!
	
	rem cambia il nome
	ren !SRC!  !NOMEFILE!

	rem *
	rem * --- se fatta tutta l'interazione...esce
        rem *
	if !CONTA! gtr !MAXI! (
		echo --------------------------------------------------------------
		echo uscito dal ciclo
		goto FINE
	)
	
)


:FINE
echo --------------------------------------------------------------
echo rinomina.bat versione: !VERSIONE! by Andrea Sommaruga
rem EOF RINOMINA.BAT
