megaloman
08-07-2019, 11:10
Alexander_88, @Echo Off
cls
>nul Chcp 1251
Set "BoxIn=Z:\Soft_In"
Set "Kword=start"
rem Set "Reg=^%Kword%[0-9][0-9][0-9][0-9]\..*"
Set "Reg=^[0-9][0-9][0-9][0-9]%Kword%\..*"
Set /A M=4
Set "Mask=*.*"
Set /A Max=2
Set /A NMax=0
rem FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\%Kword%*.*" /B /O:N /A:-D ^|findstr /I /R /C:"%Reg%"`) DO (
FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\*%Kword%.*" /B /O:N /A:-D ^|findstr /I /R /C:"%Reg%"`) DO (
Set "NMax=%%~na"
rem Call Set "NMax=1%%NMax:~-%M%%%"
Call Set "NMax=1%%NMax:~0,%M%%%"
)
Set /A Num=1000000
Set /A Num=%Num%+%NMax%
Set /A MMax=%Max%+%Num%
Set /A MMax=%Max%+%Num%
FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /O:N /A:-D ^|findstr /I /R /V /C:"%Reg%"`) DO (
Call :RenNNN "%BoxIn%" "%%a" "%Kword%" %M% %MMax% ||Exit /B 1
)
Pause
Exit /B
:RenNNN
Set /A Num+=1
If %Num% GTR %5 Exit /B 1
Call Set "NNum=%%Num:~-%4%%"
rem 2>nul Ren "%~1\%~2" "%~3%NNum%%~x2" ||GoTo :RenNNN
2>nul Ren "%~1\%~2" "%NNum%%~3%~x2" ||GoTo :RenNNN
Exit /B 0
cls
>nul Chcp 1251
Set "BoxIn=Z:\Soft_In"
Set "Kword=start"
rem Set "Reg=^%Kword%[0-9][0-9][0-9][0-9]\..*"
Set "Reg=^[0-9][0-9][0-9][0-9]%Kword%\..*"
Set /A M=4
Set "Mask=*.*"
Set /A Max=2
Set /A NMax=0
rem FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\%Kword%*.*" /B /O:N /A:-D ^|findstr /I /R /C:"%Reg%"`) DO (
FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\*%Kword%.*" /B /O:N /A:-D ^|findstr /I /R /C:"%Reg%"`) DO (
Set "NMax=%%~na"
rem Call Set "NMax=1%%NMax:~-%M%%%"
Call Set "NMax=1%%NMax:~0,%M%%%"
)
Set /A Num=1000000
Set /A Num=%Num%+%NMax%
Set /A MMax=%Max%+%Num%
Set /A MMax=%Max%+%Num%
FOR /F "usebackq delims=" %%a IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /O:N /A:-D ^|findstr /I /R /V /C:"%Reg%"`) DO (
Call :RenNNN "%BoxIn%" "%%a" "%Kword%" %M% %MMax% ||Exit /B 1
)
Pause
Exit /B
:RenNNN
Set /A Num+=1
If %Num% GTR %5 Exit /B 1
Call Set "NNum=%%Num:~-%4%%"
rem 2>nul Ren "%~1\%~2" "%~3%NNum%%~x2" ||GoTo :RenNNN
2>nul Ren "%~1\%~2" "%NNum%%~3%~x2" ||GoTo :RenNNN
Exit /B 0