首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理文件:如果文件夹中有子文件夹,如何删除按日期排序的文件?

问批处理文件:如果文件夹中有子文件夹,如何删除按日期排序的文件?
EN

Stack Overflow用户
提问于 2014-10-09 10:02:52
回答 1查看 1.1K关注 0票数 0

以下是一个例子:

有4个文件:

代码语言:javascript
复制
C:\Test\1002.bak                  -- Created on Oct 2nd,2014
C:\Test\1009.bak                  -- Created on Oct 9th,2014
C:\Test\subfolder\1001.bak        -- Created on Oct 1st,2014
C:\Test\subfolder\1008.bak        -- Created on Oct 8th,2014

我想要一个批处理文件来删除按日期排序的旧文件,所有文件都包括子文件夹。

应该将其分类如下:

代码语言:javascript
复制
C:\Test\subfolder\1001.bak 
C:\Test\1002.bak                  
C:\Test\subfolder\1008.bak        
C:\Test\1009.bak  

但是,如果我运行下面的命令,则结果将由子文件夹分隔。例如,"dir /a-d /od /s > result.txt“

result.txt:

代码语言:javascript
复制
 Volume in drive C has no label.
 Volume Serial Number is AADB-DB05

 Directory of c:\test

2014/10/02  11:40         4,220,416 1002.bak
2014/10/09  07:02     1,453,321,216 1009.bak
2014/10/09  18:44                 0 result.txt
               3 File(s)  1,457,541,632 bytes

 Directory of c:\test\subfolder

2014/10/01  10:51         4,220,416 1001.bak
2014/10/08  07:02     1,418,283,008 1008.bak
               2 File(s)  1,422,503,424 bytes

     Total Files Listed:
               5 File(s)  2,880,045,056 bytes
               0 Dir(s)  35,598,852,096 bytes free

dir /a-d /od /s /b> result.txt

result.txt:

代码语言:javascript
复制
c:\test\1002.bak
c:\test\1009.bak
c:\test\result.txt
c:\test\subfolder\1001.bak
c:\test\subfolder\1008.bak

是否可以按日期对包括所有子文件夹在内的所有文件进行排序,然后在此文件夹磁盘大小达到限制时删除旧文件?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-09 10:52:30

代码语言:javascript
复制
@echo off
    set "targetFolder=%cd%"

    for /f "skip=4 tokens=2,*" %%a in ('
        robocopy "%targetFolder%" "%targetFolder%" /l /nocopy /is /s /njh /njs /ndl /nc /ns /ts 
        ^| sort /R
    ') do echo del "%%b"

此代码使用robocopy命令(在windows和更高版本中本机,可供以前版本下载)不是复制文件,而是获取带有yyyy/mm/dd hh:nn:ss格式时间戳的文件列表。此列表按降序(sort /r)排序,并跳过列表中的第一个(新的)文件(skip=4)。对于列表中的其余元素,将执行del命令。

del操作只回显到控制台。如果输出正确,请删除echo命令

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26275599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档