批处理删除指定后缀的旧文件并保留该后缀最新的几个文件的dos命令

set num=3
set suffix=log
for /f "skip=%num% tokens=* delims=" %%i in ('dir /b/o-d *.%suffix%') do del /f/q  "%%i"

前两行是指定保留文件的个数和指定的文件后缀

最后一行是,先通过dir /b/o-d 命令按照时间排序列出指定后缀的文件列表,然后用for循环,循环的时候跳过num个文件后执行del命令删除文件

tokens=* delims= 的含义是取消默认的分隔符,所以会把行上的内容照搬下来,但是会忽略行首的所有空格

del /f/q  "%%i" 必须要有引号,否则遇见有空格的路径,del就没法删除了

只需要把该命令拷贝到记事本中,把txt改成bat后缀,然后放到要删除文件所在的文件夹中,就可以了

我个人不是很懂dos命令,这个命令是我研究了半天自己拼的一个命令,我自己测试用了几次,没啥问题,但是不能保证绝对没有问题,

因此,该代码只能做参考,不能直接拿来使用!

posted @ 2022-11-01 10:30  WmW  阅读(354)  评论(0编辑  收藏  举报