Данный скрипт оставит в директории D:\Path\logs 8 самых свежих файлов с расширением *.txt.
Остальные файлы будут удалены. Скрипт полезен для чистки папок от старых бэкапов и старых логов
@echo off
setlocal enableextensions enabledelayedexpansion
set bPath=D:\Path\logs
set /a iCount = 8
REM - просмотр удаляемых файлов
for /f "skip=%iCount% usebackq delims=" %%i in (
`dir /b /a:-d /o:-d /t:w "%bPath%\*.txt"`
) do echo "%bPath%\%%~i"
REM - конец просмотра удаляемых файлов
for /f "skip=%iCount% usebackq delims=" %%i in (
`dir /b /a:-d /o:-d /t:w "%bPath%\*.txt"`
) do del /f /q "%bPath%\%%~i"
endlocal
exit /b 0