QT复制文件夹、删除非空目录
来源:互联网 发布:淘宝如何批量发货 编辑:程序博客网 时间:2024/05/02 04:38
删除非空文件夹
复制文件夹
转自:http://blog.langisle.com/2010/12/21/qt%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E5%A4%B9%E5%88%A0%E9%99%A4%E9%9D%9E%E7%A9%BA%E7%9B%AE%E5%BD%95/
在windows测试,避开快捷方式(.lnk)问题,支持属性为隐藏或只读的文件,其它未测试
bool Global::deleteDir(const QString dirName) {QDir directory(dirName); if (!directory.exists()) {return true;} QStringList files = directory.entryList(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden); QList<QString>::iterator f = files.begin(); bool error = false; for (; f != files.end(); ++f) {QString filePath = QDir::convertSeparators(directory.path() + '/' + (*f));QFileInfo fi(filePath);if (fi.isFile() || fi.isSymLink()){QFile::setPermissions(filePath, QFile::WriteOwner);if (!QFile::remove(filePath)) {DBG(qDebug() << "Global::deleteDir 1" << filePath << "faild");error = true;}}else if (fi.isDir()){if (!deleteDir(filePath));{error = true;}}} if(!directory.rmdir(QDir::convertSeparators(directory.path()))) {DBG(qDebug() << "Global::deleteDir 3" << directory.path() << "faild");error = true;} return !error; }
复制文件夹
bool copyDir(const QString source, const QString destination, const bool override) { QDir directory(source);bool error = false; if (!directory.exists()) {return false;} QStringList files = directory.entryList(QDir::AllEntries | QDir::NoDotAndDotDot | QDir::Hidden); QList<QString>::iterator f = files.begin(); for (; f != files.end(); ++f) {QString filePath = QDir::convertSeparators(directory.path() + '/' + (*f));QString dPath = destination + "/" + directory.relativeFilePath(filePath);QFileInfo fi(filePath);if (fi.isFile() || fi.isSymLink()){if (override){QFile::setPermissions(dPath, QFile::WriteOwner);}QFile::copy(filePath, dPath); }else if (fi.isDir()){ QDir ddir(dPath);ddir.mkpath(dPath);if (!copyDir(filePath, dPath, override)){error = true;}} } return !error;}
转自:http://blog.langisle.com/2010/12/21/qt%E5%A4%8D%E5%88%B6%E6%96%87%E4%BB%B6%E5%A4%B9%E5%88%A0%E9%99%A4%E9%9D%9E%E7%A9%BA%E7%9B%AE%E5%BD%95/
- QT复制文件夹、删除非空目录
- 删除非空目录文件夹
- 删除文件夹目录(非空)
- qt删除非空文件夹
- 删除文件夹(非空目录)
- linux 删除目录,非空文件夹
- 【PHP】删除非空目录(文件夹)
- Qt编程:删除非空文件夹
- Qt 清空文件夹,删除非空文件夹
- 删除非空文件夹
- 删除非空目录
- 删除文件夹(非空目录)及其中所有文件
- C++ 递归方式删除非空目录文件夹
- [VC/MFC]删除文件夹(非空目录)
- 递归删除非空文件夹
- MFC 删除非空文件夹
- VBS 删除非空文件夹
- ubuntu删除非空文件夹
- Index of XML
- 對象的序列化和反序列化
- 懒人学习automake, Makefile.am,configure.ac
- 图片与mysql数据库的交互
- ArcMap打不开
- QT复制文件夹、删除非空目录
- 好博客哦
- 原码反码补码加减运算
- 获取文件扩展名的通用方法
- perl+cgi学习
- 云存储:下一个互联网金矿?
- hoj12008 Parenthesis
- 优秀领导者的六种领导方式
- How to Improve Query Performance - A Checklist