@echo off setlocal for /r %1 %%D in (* .) do call :lowercase %%~D endlocal echo Done. goto :EOF :lowercase set F=%~nx1 set F=%F:A=a% set F=%F:B=b% set F=%F:C=c% set F=%F:D=d% set F=%F:E=e% set F=%F:F=f% set F=%F:G=g% set F=%F:H=h% set F=%F:I=i% set F=%F:J=j% set F=%F:K=k% set F=%F:L=l% set F=%F:M=m% set F=%F:N=n% set F=%F:O=o% set F=%F:P=p% set F=%F:Q=q% set F=%F:R=r% set F=%F:S=s% set F=%F:T=t% set F=%F:U=u% set F=%F:V=v% set F=%F:W=w% set F=%F:X=x% set F=%F:Y=y% set F=%F:Z=z% if not {%F%}=={%~nx1} echo %~p1%F%&ren %~pnx1 %F% goto :EOF