[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样比较文件夹的创建时间,删除最旧的文件夹?

问题:
一个文件夹下有若干个文件夹,期望通过比较所有文件夹的创建时间,最后删除创建时间最旧的文件夹。
若干文件夹的名称是:01-31的日期格式(每天以当天日期命名一个文件夹)。

谢谢~

本帖最后由 CrLf 于 2014-8-26 18:15 编辑

来个猥琐解法:
  1. set DIRCMD=/o-n /ad /b
  2. dir 0?-?? 1?-?? |set/p#=^&cmd/v/cecho rd/s/q "!#!"
  3. ::测试确认无误后,把 cmd/v/cecho 改成 cmd/v/c
  4. pause
复制代码
大伙看着恶心不...

TOP

回复 2# CrLf


    你为何这么*文明用语

TOP

回复 2# CrLf


   先谢谢了啊,不过好像还是不行。其实可以把时间最旧的文件夹名称先打印出来就行。剩下的备份删除操作就比较容易了

C:\SessionRecordings\2014\02>set DIRCMD=/o-n /ad /b

C:\SessionRecordings\2014\02>dir 0?-?? 1?-??   | set/p#=&cmd/v/cecho rd/s/q "!#!
"
找不到文件
rd/s/q "!#!"

TOP

回复 4# ekinyangdn


    你的文件夹实际叫什么,列个清单看下

TOP

回复 5# CrLf


    若干文件夹的名称是:01-31的日期格式(每天以当天日期命名一个文件夹)。
01
02
03
04
.
.
.
31

TOP

........................
你这讲得有歧义,01-31 看了还以为是 1 月 31 号
  1. set DIRCMD=/o-n /ad /b
  2. dir ?? | set/p#=^&cmd/v/cecho rd/s/q "!#!"
复制代码

TOP

回复 7# CrLf


    。。。不好意思,偷懒想用个符号-,表示01至31,结果还引起误解了
这次试验没问题了,我自己拿for 套用set也照搬着写了一个。
多谢大拿~

TOP

回复 2# CrLf

dir, set这两句能解释一下么,看不懂,想学习下,感觉挺有用的。
学习...

TOP

回复 8# ekinyangdn

可以把你的代码贴出来么?让我们也学习学习。
学习...

TOP

返回列表