тогда примерно так:
Код:
![Выделить весь код](images/misc/selectcode.png)
@Echo Off
Set MASK=*.*
Set ROOT=C:\GENERALFOLDER
For /F "Delims=" %%a In ('2^>nul DIR /B/S/A:D %ROOT%\*') Do (
For /F "Delims=" %%i In ('2^>nul DIR /B/S/A:-D "%%a\%MASK%"') Do (
Call :FileGetNewName "%%i" "%ROOT%"
Call :FileMove "%%i"
)
)
Exit
:FileMove
:: ---
:: %1 - полное имя исходного файла, включая путь
:: ---
Echo From: %~1
Echo To : %$N%%$I%%$X%
Echo.
Move "%~1" "%FileGetNewName%" >Nul
GoTo :EOF
:FileGetNewName
:: ---
:: %1 - полное имя исходного файла, включая путь
:: %2 - путь к целевому каталогу
:: ---
Set $I=
Set FileGetNewName=
If Not Exist "%~1" GoTo :EOF
For %%i In ("%~1") Do Set $N=%%~ni
For %%i In ("%~1") Do Set $X=%%~xi
:FileGetNewName_LOOP
Set FileGetNewName=%~2\%$N%%$I%%$X%
If Not Exist "%FileGetNewName%" GoTo :EOF
Set /A $I +=1
GoTo FileGetNewName_LOOP