首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

递归删除基本文件夹,其中所有内容的修改时间不超过n天

,可以通过以下步骤实现:

  1. 遍历基本文件夹下的所有文件和子文件夹。
  2. 对于每个文件,检查其修改时间是否超过n天。如果是,则删除该文件。
  3. 对于每个子文件夹,递归地执行步骤1和步骤2。
  4. 最后,删除空的子文件夹。

这个操作可以使用编程语言来实现,以下是一个示例的Python代码:

代码语言:python
代码运行次数:0
复制
import os
import time

def delete_folder_recursive(folder_path, n_days):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            if os.path.isfile(file_path):
                modified_time = os.path.getmtime(file_path)
                current_time = time.time()
                time_diff = current_time - modified_time
                if time_diff <= n_days * 24 * 60 * 60:
                    os.remove(file_path)
        for dir in dirs:
            dir_path = os.path.join(root, dir)
            delete_folder_recursive(dir_path, n_days)
            if not os.listdir(dir_path):
                os.rmdir(dir_path)

# 使用示例
folder_path = "/path/to/folder"
n_days = 7
delete_folder_recursive(folder_path, n_days)

这段代码使用os模块来操作文件和文件夹,通过os.walk函数遍历基本文件夹下的所有文件和子文件夹。对于每个文件,使用os.path.getmtime函数获取其修改时间,并与当前时间进行比较。如果文件的修改时间在n天之内,则使用os.remove函数删除该文件。对于每个子文件夹,递归地执行相同的操作。最后,使用os.rmdir函数删除空的子文件夹。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

利用 WinRAR 在cmd执行rar压缩命令,脚本压缩文件

添加"压缩文件结束"标志 ep 从名称中排除路径 ep1 从名称中排除基本目录 ep2 展开为完整路径 ep3 扩展路径为包含盘符完全路径 f 刷新文件 hp[密码] 同时加密文件数据和文件头 id...p[密码] 设置密码 p- 询问密码 r 递归子目录 r0 仅递归通配符名称子目录 ri[:] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位休眠时间 rr[N] 添加数据恢复记录...) sl 处理小于指定大小文件 sm 处理超过指定大小文件 t 压缩后测试文件 ta 添加日期 后修改文件,日期格式 YYYYMMDDHHMMSS tb...添加日期 前修改文件,日期格式 YYYYMMDDHHMMSS tk 保留原始压缩文件时间 tl 设置压缩文件时间为最新文件时间 tn 添加 以后文件 to 添加... 以前文件 ts[N] 保存或恢复文件时间(修改,创建,访问) u 更新文件 v 自动检测创建卷大小或者列出所有的卷 v[k,b] 创建卷大小=*1000 [*

64910

linux常用命令、bash语法学习笔记,持续记录

参数: -p 可以递归递归创建出具有嵌套叠层关系文件目录 mkdir 文件夹名 创建一个新目录 mkdir -p a/b/c/d 递归创建多个目录 5. pwd命令 pwd命令用于查看当前所在文件夹目录...rm 删除文件或目录 rm -f 强制删除,忽略不存在文件,无需提示 rm -r 递归删除目录下内容删除文件夹时必须加此参数 rm *1.txt 删除以1.txt结尾所有文件 rm -r *...rm -rf * 强制删除文件夹所有文件 (删除完成不可恢复) 8. cp命令 cp命令用于复制文件或目录,格式:cp [选项 ] 源文件 目标文件。...-name 匹配名称 -perm 匹配权限(mode为完全匹配,-mode为包含即可) -user 匹配所有者 -group 匹配所有组 -mtime -n +n 匹配修改内容时间(-nn以内,+...nn以前) -atime -n +n 匹配访问文件时间(-nn以内,+nn以前) -ctime -n +n 匹配修改文件权限时间(-nn以内,+nn以前) -nouser 匹配无所有文件

1.6K30
  • Linux基本命令与常用符号

    其中若-p和-i结果不可知则省略 hostname 查看主机名 # hostnamectl set-hostname hello date 查看和设置时间 时间方面: %n : 下一行 %t : 跳格...安全环境设置为CTX rmdir 删除文件夹 -p 递归删除空目录,从最后一个目录倒删 touch 建立文件 -a 只更改访问时间 -c 创建任何文件 -m 只更改修改时间 -r 使用指定文件时间属性替代当前时间...忽略不存在文件,不提示确认 -i 在删除前需要确认 -I 超过三个文件或者递归删除前要求确认。...比-i提示内容更少 -d 删除空目录 -r 递归删除目录及其内容 这些命令都是初学者可能会经常用到,大家可以在自己虚拟机上练习一下 cp 拷贝 -i 覆盖前询问(使前面的 -n 选项失效) -n 不要覆盖已存在文件...改名 -f 覆盖前询问 -i 覆盖前询问 -n 覆盖已存在文件 #如果您指定了-i、-f、-n多个,仅最后一个生效。

    93010

    Ubuntu操作指令

    -d:将目录象文件一样显示,而不是显示其下文件 -t:按修改时间先后显示 -R:显示目录及下级子目录结构 -m: 横向输出文件名,并以“,”作分格符。 -S: 以文件大小排序。...其中不同颜色代表不同文件: 蓝色:目录 绿色:可执行文件 红色:压缩文件 浅蓝色:链接文件 灰色:其他文件 移动至下一目录 cd(change directory ) 可以在输入文件夹名称时按tab补全...rm -rf directory-name 强制并递归删除文件夹 复制文件 cp –afpx src-file dst-file (copy file) 后缀: •-a:尽可能保持文件结构和属性 •...管道文件 -name ‘字符串’ -iname ‘字符串’ 区分大小写 -user 用户名 -group 组名 -perm xxxx -size n -atime n 过去n被访问过 -mtime...n 在过去n中被修改 查看文件 cat –afpx filename 显示文本文件内容 -n 或 –number:由 1 开始对所有输出行数编号。

    36110

    Linux命令4-find、locate

    +n -n、+n:按照文件更改时间,-n表示n之内,+n指的是n以前 -atime 按照访问时间来查 -ctime 按照创建时间来查;-n、+n:-n指的是n之内,+n指的是n以前 -newer...修改时间(-mtime/,-mmin/分钟):文件最后一次修改时间。 变化时间(-ctime/,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。...-type f -atime +7 # 搜索超过7被访问文件 find . -type f -amin +10 # 超过10分钟访问文件 find ....-type f -newer hello.txt # 找出比hello.txt修改时间更长所有文件 根据大小查找 Linux系统中文件大小单元: 符号 大小 b 块,512字节 c 字节 w 字(2个字节...对目录影响 对应大小 r(读取) 可读取文件内容 可列出目录内容 4 w(写入) 可修改文件内容 可在目录中创建删除内容 2 x(执行) 可作为命令执行 可访问目录内容 1 目录必须拥有 x 权限

    90820

    hive中操作hdfs命令

    选项: —ignore-fail-on-non-empty:使用它时候,忽略因文件夹非空删除失败信息。 (28)-rmr 作用:该方法已经被舍去。和-rm -r效果一样。递归删除。...选项: -b:移除所有除了基本ACL条目。用户、组和其他条目被保留为与权限位兼容性。 -k:删除默认ACL。 -R: 递归应用于所有文件和目录操作。 -m:修改ACL。...选项-R将递归改变PATH指定目录中所有文件目标副本系数。副本系数需要一定时间才能达到目标值。选项-w将等待副本系数以与目标值相匹配。...文件大小 (%b), 类型 (%F), 所有者所在组 (%g), 名字 (%n), 块大小 (%o), 副本 (%r), 用户名(%u), 修改时间 (%y, %Y)。默认是%y。...版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。

    95520

    linux最常用20条命令

    :将文件容量以较易读方式(GB,kB等)列出来   -R :连同子目录内容一起列出(递归列出),等于该目录下所有文件都会显示出来   注:这些参数也可以组合使用,下面举两个例子: ls -l #以长数据串形式列出当前目录下数据文件和目录...,它基本语法如下: find [PATH] [option] [action]   # 与时间有关参数:   -mtime n : n为数字,意思为在n之前“一内”被更改过文件;   -...mtime +n : 列出在n之前(不含n本身)被更改过文件名;   -mtime -n : 列出在n之内(含n本身)被更改过文件名;   -newer file : 列出比file还要新文件名...   例如: rm -i file # 删除文件file,在删除之前会询问是否进行该操作   rm -fr dir # 强制删除目录dir中所有文件   8、ps命令 该命令用于将某个时间进程运行情况选取下来并输出.../dir # 递归地把dir目录下中所有文件和子目录下所有文件用户组修改为users   15、chown命令 该命令用于改变文件所有者,与chgrp命令使用方法相同,只是修改文件属性不同,不再详述

    92440

    新手入门linux之最常用20条命令

    (GB,kB等)列出来  -R :连同子目录内容一起列出(递归列出),等于该目录下所有文件都会显示出来 注:这些参数也可以组合使用,下面举两个例子: ls -l #以长数据串形式列出当前目录下数据文件和目录...,并把找到关键字加上颜色 grep –color=auto ‘MANPATH’ /etc/man.config # 把ls -l输出中包含字母file(区分大小写)内容输出 ls -l | grep...[option] [action] # 与时间有关参数: -mtime n : n为数字,意思为在n之前“一内”被更改过文件; -mtime +n : 列出在n之前(不含n本身)被更改过文件名...例如: rm -i file # 删除文件file,在删除之前会询问是否进行该操作 rm -fr dir # 强制删除目录dir中所有文件 8、ps命令 该命令用于将某个时间进程运行情况选取下来并输出.../dir # 递归地把dir目录下中所有文件和子目录下所有文件用户组修改为users 15、chown命令 该命令用于改变文件所有者,与chgrp命令使用方法相同,只是修改文件属性不同,不再详述

    52900

    想要成为Linux大神,你应该和我一样这样做!

    第一 我们从3开始 3、echo '111' > 1.txt 覆盖之前所有的数据 echo '222' >> 1.txt 追加数据到文本 数据流向问题,箭头指向哪里就是流向哪里...y rm -f 目标文件 直接删除文件,不会有提示 rm -fr 目标目录 删除文件夹命令 也是目录 rmdir 目标文件夹 删除文件夹命令也是目录...8、显示文件头几条 head -n -行数 文件,如果-n 和-行数接默认显示是10行 for example head -n -3 1.txt tail...-n -行数 文件,如果-n 和-行数接默认显示是10行 for example tail -n -3 1.txt 9、创建文件夹(目录) mkdir -m 777...这种不需要交互也就是连接上当前用户名在修改密码,可以使用管道技术直接进行修改 4、删除linux历史命令记录:history -d 行数 history -c 删除所有的历史命令 5、使用yum

    82680

    我最常用20条Linux 命令

    (GB,kB等)列出来 -R :连同子目录内容一起列出(递归列出),等于该目录下所有文件都会显示出来 注:这些参数也可以组合使用,下面举两个例子: ls -l #以长数据串形式列出当前目录下数据文件和目录...,并把找到关键字加上颜色 grep --color=auto 'MANPATH' /etc/man.config # 把ls -l输出中包含字母file(区分大小写)内容输出 ls -l |...] [option] [action] # 与时间有关参数: -mtime n : n为数字,意思为在n之前“一内”被更改过文件; -mtime +n : 列出在n之前(不含n本身)被更改过文件名...例如: rm -i file # 删除文件file,在删除之前会询问是否进行该操作 rm -fr dir # 强制删除目录dir中所有文件 8、ps命令 该命令用于将某个时间进程运行情况选取下来并输出.../dir # 递归地把dir目录下中所有文件和子目录下所有文件用户组修改为users 15、chown命令 该命令用于改变文件所有者,与chgrp命令使用方法相同,只是修改文件属性不同,不再详述

    37620

    Linux命令万字总结,这次我必拿下!

    rm 删除文件或目录 【常用参数】 -r 递归删除 -i 删除前给出提示信息 -f 强制删除 【常用写法】 rm file1 删除当前文件夹file1文件 rm -r dir1 删除当前文件夹下dir1...文件夹(文件夹必须使用递归方式删除) rm *.txt 删除当前文件夹所有txt文件 sort sort可以快速对文本文件行进行排序 【常用写法】 sort city.txt 可以对city.txt...-mtime -1 # 近1修改文件 查找结果并执行操作 find ....-r 递归查找 -i 忽略大小写 -E 以正则表达式进行匹配 -v 显示包含指定文本所有行 grep -nr xiaoyu *.py # 递归查找当前文件夹所有的py文件中含有关键字xiaoyu...位置并显示行数 grep -v xiaoyu *.py # 查找当前文件夹所有的py文件中包含xiaoyu关键字所有行 grep -E ^xiao /root/*.py # 查找root文件夹所有

    1.9K30

    《前端运维》一、Linux基础--基础命令

    ,上级目录 pwd,显示当前目录 rmdir [目录名],删除目录 rm [文件或目录名],删除文件或者目录。 -r,递归删除目录 -f,强制删除 -rf,递归强制删除所有目录。慎用!...可惜,又报错了,好像又缺了点什么,它说文件夹不是空,哦对了,刚才我们创建了一个递归目录,所以b下面还有c,所以以此可以知道rmdir不能删除非空文件夹,那在怎么办呢? ?...删除文件会有提示。 以上,我们经历了简单地创建文件夹、进入文件夹删除文件夹及文件等内容。下面我们继续。...root -nouser 按时间搜索,find /a/1.js -mtime -5 mtime:文件访问时间,ctime:改变文件属性时间,mtime:修改文件内容时间 -5:五修改内容,5:五前当前修改文件...,+5:五修改文件。

    1.3K10

    Linux-基础实用指令(不会还有人不知道吧)

    touch 修改文件或目录时间属性,不存在则创建之。...除复制文件内容外,还把修改时间和访问权限也复制到新文件中 -r 若给出源文件是一个目录文件,此时将复制该目录下所有的子目录和文件 -l 不复制文件,只是生成链接文件 rm Remove缩写,删除文件或目录...n 在过去n天内被读取过文件 -cmin n 在过去 n 分钟内被修改过 -cnewer file 比文件 file 更新文件 -ctime n 在过去n天内被修改文件 -path p 路径名称符合...范本样式> 指定字符串做为查找文件内容样式 -h 在显示符合样式那一行之前,标示该行所属文件名称 -H 在显示符合样式那一行之前,标示该行所属文件名称 -i 忽略字符大小写 解压缩 gzip...-q 不显示指令执行过程 -r 递归处理,将指定目录下所有文件和子目录一并处理 -t 把压缩文件日期设成指定日期 -T 检查备份文件内每个文件是否正确无误 -v 显示指令执行过程或显示版本信息

    46931

    Linux养成计划(九)

    rm [选项] 要删除文件或目录(功能:移除文件或目录) 常用选项 -r :递归删除整个文件夹 -f:强制删除不提示 应用案例 rm aaa.txt 删除aaa.txt文件(会提示) rm...) 基本语法 ls -l > 文件(列表内容写入文件中,覆盖写) ls -al >>文件(列表内容追加到文件末尾,覆盖) cat 文件1 > 文件2 (将文件1内容覆盖到文件2) 应用案例 ls -...文本 head 命令 基本语法 head 文件(功能:查看文件头10行内容) head -n 5 文件(功能:查看文件头5行内容) 应用案例 head -n 5 /etc/profile 显示profile...文件头5行 tail 命令 基本语法 tail 文件(功能:查看文件后10行内容) tail -n 5 文件(功能:查看文件后5行内容) tail -f 文件(功能:时事跟踪文档所有更新,工作中常用...(功能:显示当前是哪一) date "+%Y-%m-%d %H:%M:%S"(功能:显示年月日时分秒) date -s 字符串时间 (功能:设置系统时间) cal 命令 基本语法 cal [选项]

    80920

    初窥Linux 之 我最常用20条命令

    (GB,kB等)列出来 -R :连同子目录内容一起列出(递归列出),等于该目录下所有文件都会显示出来 注:这些参数也可以组合使用,下面举两个例子: ls -l #以长数据串形式列出当前目录下数据文件和目录...[PATH] [option] [action] # 与时间有关参数: -mtime n : n为数字,意思为在n之前“一内”被更改过文件; -mtime +n : 列出在n之前(不含n...本身)被更改过文件名; -mtime -n : 列出在n之内(含n本身)被更改过文件名; -newer file : 列出比file还要新文件名 # 例如: find /root -mtime...,它基本用法如下: chgrp [-R] dirname/filename -R :进行递归持续对所有文件和子目录更改 # 例如: chgrp users -R ..../dir # 递归地把dir目录下中所有文件和子目录下所有文件用户组修改为users 15、chown命令 该命令用于改变文件所有者,与chgrp命令使用方法相同,只是修改文件属性不同

    17810

    操作Linux这些命令够用了

    :将文件容量以较易读方式(GB,kB等)列出来 -R :连同子目录内容一起列出(递归列出),等于该目录下所有文件都会显示出来 注:这些参数也可以组合使用,下面举两个例子: ls -l #以长数据串形式列出当前目录下数据文件和目录...,它基本语法如下: find [PATH] [option] [action] # 与时间有关参数: -mtime n : n为数字,意思为在n之前“一内”被更改过文件; -...mtime +n : 列出在n之前(不含n本身)被更改过文件名; -mtime -n : 列出在n之内(含n本身)被更改过文件名; -newer file : 列出比file还要新文件名...例如: rm -i file # 删除文件file,在删除之前会询问是否进行该操作 rm -fr dir # 强制删除目录dir中所有文件 8、ps命令 该命令用于将某个时间进程运行情况选取下来并输出.../dir # 递归地把dir目录下中所有文件和子目录下所有文件用户组修改为users 15、chown命令 该命令用于改变文件所有者,与chgrp命令使用方法相同,只是修改文件属性不同,不再详述

    93860

    Linux中40个最佳Find命令示例

    档案 find ./ -type f -size 0 要么 find ./ -type f –empty 目录 find ./ -type d –empty 按年龄或修改时间查找文件 查找早于n文件...-mtime -10 -type d 根据访问或修改查找文件 根据访问日期或时间查找文件。这使您可以查看在指定时间段内已访问或尚未访问文件。 查看主目录中最近10内未访问文件。...find /home -atime +10 完全在10前访问文件 find /home -atime 10 最近10内访问过 find /home -atime -10 查找最近n天内修改文件...查找和删除早于n文件 从当前目录中查找和删除超过20备份文件。 find ....-type f -name '*.bak' -mtime +20 -exec rm {} ; 这将删除所有.bak超过20文件。 仅查找和删除目录 删除名为 dir22 find .

    4.2K20

    前端工程师Linux命令常见合集

    ls -l 选项配置 -l选项意思为显示文件详细信息,比如下方: -rw-r--r-- root root 0 8月 1 13:57 1.txt 文件类型和权限 所有所有组 文件大小 修改时间 文件名...-p参数表示可以递归创建,比如mkdir -p a/c.txt,及时当前目录下不能存在a文件夹那么使用-p命令也会递归创建a文件夹,之后在a文件夹中在创建c.txt。...选项 描述 -r rm本身只能删除文件,加上-r选项可以删除目录(循环递归删除目录),但是他会询问你每次删除文件和你确认是否需要删除 -f -f选项可以强制删除,不进行提示,直接强制删除。...修改任意一个文件,另一个就会变化。 删除源文件,软链接不能使用了。 软连接文件必须写绝对路径。...表示查看当前目录下5修改文件列表。 参数 描述 -mtime +5 表示5前 -mtime -5 表示5之内 -mtime 5 表示第5 按照大小查找 k小写,M大写。 find .

    41220

    python 基本模块

    :删除一个文件    rmdir(path):删除一个文件夹,注:删除非空文件夹将异常    removedirs(path):递归删除文件夹,直到有一级文件夹非空,注:文件夹路径不能以'...commonprefix(list):返回list中统一前缀,用于获得一组字符串左起相同内容    dirname(path):返回path中文件夹部分,结果包含'\'    exists...(path):文件或文件夹是否存在    getatime(path):文件或文件夹最后访问时间,从新纪元到访问时秒数    getmtime(path):文件或文件夹最后修改时间    ...%d,%H,%M,%S:年月日时分秒      %w:星期,0为星期    strptime(string[,format]):将字符串解析为9元素时间数组    time():返回当前时间值...pattern): 预查,若之后内容匹配表达式,则成立 (?Ppattern): 给一个匹配项命名 (?

    67720

    Linux 实用指令

    ),完成后按键盘回车键(Enter),等待系统自动修改密码(提示:这个过程时间可能有点长,耐心等待),完成后,系统会自动重启, 新密码生效了 # 帮助指令 # man 获得帮助信息 基本语法: man...:\cp ,\cp -r /home/bbb/opt # rm 指令 说明:rm 指令移除文件或目录 基本语法: rm [选项] 要删除文件或目录 常用选项 -r :递归删除整个文件夹 -f: 强制删除不提示...应用案例 案例1:将/home/hello.txt删除, rm /home/hello.txt 案例2: 递归删除整个文件夹 /home/bbb, rm -rf /home/bbb...[删除整个文件夹,不提示] 使用细节: 强制删除不提示方法,带上 -f 参数即可 # mv 指令 说明: mv 移动文件与目录或重命名 基本语法: mv oldNameFile newNameFile...常用选项 -r:递归压缩,即压缩目录 unzip常用选项 -d:指定解压后文件存放目录 应用案例: 案例1:将/home下所有文件/文件夹进行压缩成myhome.zip zip -r myhome.zip

    4.3K20
    领券