标题: [文本处理] 批处理怎样比较文件夹的创建时间,删除最旧的文件夹? [打印本页]
作者: ekinyangdn 时间: 2014-8-26 17:18 标题: 批处理怎样比较文件夹的创建时间,删除最旧的文件夹?
问题:
一个文件夹下有若干个文件夹,期望通过比较所有文件夹的创建时间,最后删除创建时间最旧的文件夹。
若干文件夹的名称是:01-31的日期格式(每天以当天日期命名一个文件夹)。
谢谢~
作者: CrLf 时间: 2014-8-26 18:14
本帖最后由 CrLf 于 2014-8-26 18:15 编辑
来个猥琐解法:- set DIRCMD=/o-n /ad /b
- dir 0?-?? 1?-?? |set/p#=^&cmd/v/cecho rd/s/q "!#!"
- ::测试确认无误后,把 cmd/v/cecho 改成 cmd/v/c
- pause
复制代码
大伙看着恶心不...
作者: 523066680 时间: 2014-8-26 19:19
回复 2# CrLf
你为何这么*文明用语
作者: ekinyangdn 时间: 2014-8-27 09:30
回复 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 "!#!"
作者: CrLf 时间: 2014-8-27 11:49
回复 4# ekinyangdn
你的文件夹实际叫什么,列个清单看下
作者: ekinyangdn 时间: 2014-8-27 14:10
回复 5# CrLf
若干文件夹的名称是:01-31的日期格式(每天以当天日期命名一个文件夹)。
01
02
03
04
.
.
.
31
作者: CrLf 时间: 2014-8-27 14:23
........................
你这讲得有歧义,01-31 看了还以为是 1 月 31 号- set DIRCMD=/o-n /ad /b
- dir ?? | set/p#=^&cmd/v/cecho rd/s/q "!#!"
复制代码
作者: ekinyangdn 时间: 2014-8-27 17:39
回复 7# CrLf
。。。不好意思,偷懒想用个符号-,表示01至31,结果还引起误解了
这次试验没问题了,我自己拿for 套用set也照搬着写了一个。
多谢大拿~
作者: xudaweb 时间: 2014-9-1 10:41
回复 2# CrLf
dir, set这两句能解释一下么,看不懂,想学习下,感觉挺有用的。
作者: xudaweb 时间: 2014-9-1 11:32
回复 8# ekinyangdn
可以把你的代码贴出来么?让我们也学习学习。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |