dir *.log /O:-D >dir.txt  
按时间排序(从後到先)并输入到dir.txt文件
for /F "skip=n tokens=4" %%a in (dir.txt) do @if exist %%a echo %%a
取dir.txt文件中第4列,如果存在就显示出来!如果要删除,将echo 换成 del 即可!
skip=n  重点就在这里了。skip=n 就是从首行开始跳过n行
如上面例子的我只要保留最近的3个文件
n =5+3=8
for /F "skip=8 tokens=4" %%a in (dir.txt) do @if exist %%a echo %%a
注:
n=5+n