Bat脚本学习-3:按修改时间倒序列出最新10条文件

Posted 文刂亻右景彡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bat脚本学习-3:按修改时间倒序列出最新10条文件相关的知识,希望对你有一定的参考价值。

每次部署升级系统时,都不知道上次升级是什么时候,尝试弄个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重写一个

 

以上是关于Bat脚本学习-3:按修改时间倒序列出最新10条文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SVN 按时间倒序查看最后 10 次提交?

ls 的顺序与倒序排列

Linux常用命令进阶

MYSQL语句中 选择最新插入的八条语句倒序输出 应该怎么写啊!!

bat脚本学习

bat脚本实现 按当前日期创建空白文件