QT——删除含有指定字符的文件,删除文件夹
删除含有指定字符的文件
QDir dir(filePath); 文件的文件夹路径
QStringList fileList = dir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot); //获取文件夹内所有的文件名称
for (int i = 0; i != fileList.size(); i++)
{
if (fileList[i].contains("abc")) // abc指定字符串
{
QFile::remove(filePath+ "/" + fileList[i]);
}
}
删除文件夹
deleteDeduceStep(QString stepPath)
{
if (filePath.isEmpty())
{
return false;
}
QDir dir(filePath);
if (!dir.exists())
{
return true;
}
dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
QFileInfoList fileList = dir.entryInfoList();
foreach(QFileInfo fi, fileList)
{
if (fi.isFile())
{
fi.dir().remove(fi.fileName());
}
else
{
deleteDeduceStep(fi.absoluteFilePath());
}
}
return dir.rmpath(dir.absolutePath());
}