Это то, что вы хотите, измените fileCount
, чтобы изменить номер файла в каждом подкаталоге:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set fileCount=5
set filesNow=0
set nameStart=000
set nameEnd=000
FOR /F "usebackq delims=" %%i IN (`dir /b /O:N *.mp4`) do (
set /a filesNow+=1
set /a tmpValue=filesNow %% fileCount
::echo !filesNow!
::echo !fileCount!
::echo %%i
::echo !tmpValue!
if "!tmpValue!"=="1" (
set "nameStart=%%~ni"
mkdir _tmpDir_
)
move %%~nxi _tmpDir_\
if "!tmpValue!"=="0" (
rename _tmpDir_ !nameStart!-%%~ni
)
set "nameEnd=%%~ni"
)
if exist _tmpDir_ rename _tmpDir_ %nameStart%-%nameEnd%
Вам нужно поместить их в файл bat / cmd для работы.
filesNow
для подсчета количества файлов.
По сути, это создает папку tmp и перемещает файлы внутрь,
Когда файлы внутри нее достигают номера, измените имя папки.
Несколько тестов echo
Команда, которую я не сделалудалите, просто использовали ::
, чтобы закомментировать их, вы можете удалить ::, чтобы протестировать их снова.