если я правильно понимаю задание, то надо удалять из папки файлы пачками по 5 штук с паузой после пачки
Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
set "d=C:\papka"
set "f=C:\file-log.txt"
set cnf=5
:l
setlocal enabledelayedexpansion
pushd "%d%"
2>nul dir /a-d/b|>nul find /v "" || goto :eof
for /f "delims=" %%a in ('2^>nul dir /a-d/b') do (
set /a n+=1& if !n! leq %cnf% (del "%d%\%%a"& >>%f% echo del "%d%\%%a")
)
timeout /t 3& >>%f% echo:
popd
endlocal
goto l
pause& exit
Специально ввел в код лог-файл именно в котором и можно увидеть как происходит удаление файлов по моему видению задания
(файлы удаляются пачками по 5шт с соответствующей записью в лог, если число файлов не было кратное 5ти, последняя пачка просто будет содержать число файлов менее 5ти, на работе кода никак не скажется - удалены будут тоже и отображены в логе
если то оставшееся кол-во файлов после удаления которое менее 5ти должно оставаться, а не удаляться, то 9ю строку:
Код:
![Выделить весь код](images/misc/selectcode.png)
2>nul dir /a-d/b|>nul find /v "" || goto :eof
заменить на:
Код:
![Выделить весь код](images/misc/selectcode.png)
for /f %%a in ('dir /a-d/b^|find /c /v ""') do if %%a lss %cnf% goto :eof
)