zoukankan      html  css  js  c++  java
  • QT5删除隐藏目录+隐藏文件

    1、功能需求

      删除一个目录(包括目录本身),同时删除该目录中所有文件及目录(含隐藏的

    2、遇到的问题

      qt5中已经有了递归删除目录的函数--->bool QDir::removeRecursively()

      例如:这里要删除d:/22/33目录

      QDir dir("d:/22/33");
      dir.removeRecursively(); //33目录以及里面的内容全部删除

      但是,如果33目录中有隐藏的目录或文件,就会删除失败(非隐藏的目录或文件正常删除)

      那么,在windows下删除目录的命令为:rmdir /s /q 目录路径

      直接用Qprocess调用windows命令怎么样呢? 呵呵,好像是删不掉的哦(原因未知)

    3、解决办法

      使用脚本删除目录(可行):

    QDir dir("d:/22/33");
        QFileInfo rmInfo("rm.bat");
        if (!rmInfo.exists()) {
            QFile file("rm.bat");
            if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
                QTextStream text(&file);
                text << "rmdir /s /q %1";
            }
            file.close();
        }
     QProcess process;
     process.setWorkingDirectory(QDir::currentPath());
     process.start("rm.bat", QStringList() << dir.absolutePath().replace('/', '\') ); 
     process.waitForFinished();

      这样的话,就可以删除含有隐藏目录或文件的目录了。

  • 相关阅读:
    2019icpc上海站 打星体验,首次感想 D K代码
    P1983 车站分级 思维+拓扑排序
    POJ 2352 Stars Treap & 线段树
    POJ 2761 Feed the dogs 基础Treap
    POJ 1442 Black Box 基础Treap
    CodeForces R285 Div2
    HDU 5145 NPY and girls 莫队算法
    2014 上海赛区小结
    2014 牡丹江赛区总结
    HDU 5125 Magic Ball DP+树状数组
  • 原文地址:https://www.cnblogs.com/luoxiang/p/5819487.html
Copyright © 2011-2022 走看看