每次部署升級系統時,都不知道上次升級是什么時候,嘗試弄個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重寫一個