Код:
@Echo Off
cls
Set "BoxIn=Z:\Box_In\Alll"
Set "Mask=*.*"
Set /A Max=10000
Set /A N=%Max%
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D /O:-D /T:C`) DO Call :Count "%%~nxf"
FOR /F "usebackq tokens=1* delims==" %%f IN (`Set "@@"`) DO Call :MyRen "%BoxIn%\%%g" "%%g" %Max%
Set /A N=%Max%
FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D /O:N`) DO Call :Count "%%~nxf"
Set /A N=%Max%
FOR /F "usebackq tokens=1* delims==" %%f IN (`Set "@@"`) DO Call :MyRen2 "%BoxIn%\%%g" "%%g" %Max%
pause
GoTo :Eof
:Count
Set /A N+=1
Set "@@%N%=%~1"
GoTo :Eof
:MyRen
Set /A j=%Random%+%3
Ren %1 "%j%_%~2"
Exit /B 0
:MyRen2
Set /A N+=1
Set "New=%~2"
Ren %1 "%N%_%New:*_=%"
Exit /B 0
Если не требуется, чтобы префиксы никак не дублировались, красные строки можно удалить