Как написать скрипт (.bat) для удаления файлов кроме последнего?
На первом шаге запустить FOR или FORFILES с сортировкой по возрастанию времени модификации файла; в теле этого FOR-а присваивать какой-то переменной найденное имя.
После прохождения первого цикла в переменной будет имя последнего файла.
На втором шаге запустить FOR или FORFILES по всем файлам; в теле этого FOR-а удалять все файлы, если их имя не совпадает с переменной-результатом из первого шага.
В итоге сваяли vbs скрипт выполняющий данную процедуру, время запуска прописали в виндовом шедулере.
Прилагаю код, наверняка пригодится кому-нибудь, в первой строчке надо прописать свою папку которую надо очищать:WorkDir="D:\AutoBackup"
set fso = createobject("scripting.filesystemobject")  
set sha = createobject("shell.application")  
set dir = sha.namespace(WorkDir)  

' Определяем файл с максимальной датой
set arr = dir.items  
arr.filter 192, "*.bak"  
for i = 0 to arr.count - 1  
   if i = 0 then
      set fnewest = fso.getfile(arr.item(i).path)
   else
      if fnewest.datecreated < fso.getfile(arr.item(i).path).datecreated then  
         set fnewest = fso.getfile(arr.item(i).path)  		'получаем последний полный бэкап
      end if  
   end if  
next

''''''''''''''''''''''''''''''''''

' Удаляем файлы, кроме последнего
Set filesys = CreateObject("Scripting.FileSystemObject")
Set objFolder = filesys.GetFolder(WorkDir)
For Each File in objFolder.Files

'If LCase(filesys.GetExtensionName(File)) = "bak" AND _
'DateDiff("D", File.DateLastModified, Now) > 7 Then
'File.Delete true
'End If
If fnewest = File Then
	d1 = File.Name
	'MsgBox "Последний файл: " &d1
else
	d2 = File.Name
	File.Delete true
end if

Next