每次部署升级系统时,都不知道上次升级是什么时候,尝试弄个bat脚本。本想练练python的,但服务器还要每台去装python,bat能实现就先用bat吧
@echo off setlocal enabledelayedexpansion set count = 0 dir /a-d /o-d /s |sort /r >>TmpSort.txt For /f "delims=" %%i in (TmpSort.txt) DO ( set /a count += 1 if !count! GTR 2 if !count! LEQ 12 echo %%i ) echo y |del TmpSort.txt pause
弄了一晚,文件搜索按时间排序是容易找到,递归处理子文件夹也是可以,但排序是单独按每个文件夹来处理的。
后来找了一篇,先把搜索结果存到临时文本里,再从文本里读出来,最后删除文本(如果是用python实现的话,就不用临时文本了,弄个数组之类的应该就可以)
1、要在循环中使用变量,要setlocal enabledelayedexpansion,并且用 !变量! 这种形式使用
2、dir:
/a表示属性,-d表示非文件夹
/o表示排序,-d表示按时间倒序
/s表示所有子文件夹
3、sort
使用 | 来把结果传给管道,sort /r 表示倒序,这样才能按时间倒序排列
4、echo y | del ,直接删除临时文件不提示
5、只能显示文件名,不能显示完整路径,也不能去掉文件大小,先这样吧,也够用了,要高级功能的话,改天可以拿python重写一个
时间: 2024-10-05 15:09:56