Board logo

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

作者: ekinyangdn    时间: 2014-8-26 17:18     标题: 批处理怎样比较文件夹的创建时间,删除最旧的文件夹?

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

谢谢~
作者: CrLf    时间: 2014-8-26 18:14

本帖最后由 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
复制代码
大伙看着恶心不...
作者: 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 号
  1. set DIRCMD=/o-n /ad /b
  2. 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://bbs.bathome.net/) Powered by Discuz! 7.2