找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32006|回复: 9

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

[复制链接]
发表于 2014-8-26 17:18:30 | 显示全部楼层 |阅读模式
问题:
一个文件夹下有若干个文件夹,期望通过比较所有文件夹的创建时间,最后删除创建时间最旧的文件夹。
若干文件夹的名称是:01-31的日期格式(每天以当天日期命名一个文件夹)。

谢谢~
发表于 2014-8-26 18:14:25 | 显示全部楼层
本帖最后由 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
复制代码
大伙看着恶心不...
发表于 2014-8-26 19:19:28 | 显示全部楼层
回复 2# CrLf


    你为何这么*文明用语
 楼主| 发表于 2014-8-27 09:30:33 | 显示全部楼层
回复 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 "!#!"
发表于 2014-8-27 11:49:23 | 显示全部楼层
回复 4# ekinyangdn


    你的文件夹实际叫什么,列个清单看下
 楼主| 发表于 2014-8-27 14:10:43 | 显示全部楼层
回复 5# CrLf


    若干文件夹的名称是:01-31的日期格式(每天以当天日期命名一个文件夹)。
01
02
03
04
.
.
.
31
发表于 2014-8-27 14:23:44 | 显示全部楼层
........................
你这讲得有歧义,01-31 看了还以为是 1 月 31 号
  1. set DIRCMD=/o-n /ad /b
  2. dir ?? | set/p#=^&cmd/v/cecho rd/s/q "!#!"
复制代码
 楼主| 发表于 2014-8-27 17:39:09 | 显示全部楼层
回复 7# CrLf


    。。。不好意思,偷懒想用个符号-,表示01至31,结果还引起误解了
这次试验没问题了,我自己拿for 套用set也照搬着写了一个。
多谢大拿~
发表于 2014-9-1 10:41:56 | 显示全部楼层
回复 2# CrLf

dir, set这两句能解释一下么,看不懂,想学习下,感觉挺有用的。
发表于 2014-9-1 11:32:45 | 显示全部楼层
回复 8# ekinyangdn

可以把你的代码贴出来么?让我们也学习学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 04:52 , Processed in 0.040440 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表