欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

QT删除整个文件夹

程序员文章站 2022-07-02 20:45:05
故事背景:因为客户端要清理旧版本以及日志文件,所以需要删除一个月以前的所有文件夹 技术调研:在程序中我想把文件夹直接删除,但是调用QDir中的rmdir()或者rmpath()时要求文件夹必须是非空的,否则删不掉,查了一下,好多人是通过count()计算出文件夹下的文件数量,然后使用for循环逐个删 ......

故事背景:因为客户端要清理旧版本以及日志文件,所以需要删除一个月以前的所有文件夹

技术调研:在程序中我想把文件夹直接删除,但是调用qdir中的rmdir()或者rmpath()时要求文件夹必须是非空的,否则删不掉,查了一下,好多人是通过count()计算出文件夹下的文件数量,然后使用for循环逐个删除,将文件夹清空后再删除文件夹。其实qt中有直接删除文件夹的函数qdir::removerecursively(),从qt 5.0开始引用的,使用这个函数可以直接将文件夹删除,方便快捷。

 

qstring del_file = qstring("./data/2019-03-23");
qdir dir;
dir.setpath(del_file);
dir.removerecursively()

 

这只是一个简单的demo,具体的需求大家根据自己的业务逻辑来处理即可。