IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Supprimer le contenu d'un répertoire


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Par défaut Supprimer le contenu d'un répertoire
    Bonjour,
    En fait mon répertoire 'temp' contient des fichiers et un dossier 'snortrules' qui a son tour contient d'autres fichiers.
    Je désire supprimer tout le contenu du répertoire 'temp' lorsque j'arrête mon application mais je n'arrive qu'à supprimer les fichiers.
    Et le dossier 'snortrules' est toujours présent.
    Ci-dessous la méthode DeleteTempFiles(QString name) responsable de la suppression du contenu du répertoire 'temp'.
    Je ne vois où le problème.
    Y'a t-il une autre méthode telle que supprimer le répertoire 'temp'?
    Merci;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    bool ManagementConsoleDAL::DeleteTempFiles(QString name) {
        QDir appDir = QDir(qApp->applicationDirPath());
    #if defined(Q_OS_WIN)
        if (appDir.dirName().toLower() == "debug" || appDir.dirName().toLower() == "release")
        appDir.cdUp();
    #elif defined(Q_OS_MAC)
        if (appDir.dirName() == "MacOS") {
            appDir.cdUp();
            appDir.cdUp();
            appDir.cdUp();
        }
    #endif
        appDir.cd("temp");
     
        QFileInfoList list;
     
        list = appDir.entryInfoList(QDir::Files | QDir::Hidden);
        foreach( QFileInfo elem, list ) if( ! appDir.remove( elem.absoluteFilePath()) ) return( false );
     
        list = appDir.entryInfoList(QDir::AllDirs | QDir::Hidden
                | QDir::NoDotAndDotDot);
        foreach( QFileInfo elem, list ) if( ! DeleteTempFiles( elem.absoluteFilePath() ) ) return( false );
     
        return (appDir.rmdir(appDir.absolutePath()));
     
    }

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Par défaut
    ça marchait avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    bool ManagementConsoleDAL::DeleteTempFiles() {
    	QDir appDir = QDir(qApp->applicationDirPath());
    #if defined(Q_OS_WIN)
    	if (appDir.dirName().toLower() == "debug" || appDir.dirName().toLower() == "release")
    	appDir.cdUp();
    #elif defined(Q_OS_MAC)
    	if (appDir.dirName() == "MacOS") {
    		appDir.cdUp();
    		appDir.cdUp();
    		appDir.cdUp();
    	}
    #endif
    	appDir.cd("temp");
     
    	QStringList listFilter;
    	listFilter << "*.xml";
    	listFilter << "*.rules";
     
    	QDirIterator dirIterator(appDir.absolutePath(), listFilter, QDir::Files
    			| QDir::NoSymLinks, QDirIterator::Subdirectories);
     
    	QStringList fileList;
    	while (dirIterator.hasNext()) {
    		fileList << dirIterator.next();
    	}
    	bool ok = false;
    	for (int i = 0; i < fileList.size(); i++) {
    		ok = appDir.remove(fileList.at(i));
    	}
    	return ok;
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. supprimer le contenu d'un répertoire .bat
    Par rojina29 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 25/05/2009, 15h14
  2. supprimer contenu de plusieurs répertoires via un script
    Par TiDjY dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 26/04/2007, 10h54
  3. Copier le contenu d'un répertoire
    Par bianconeri dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/12/2006, 13h00
  4. [VBA-E] supprimer le contenu de toutes les cellules d'une feuille
    Par BipBip2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/08/2004, 15h13
  5. Copie du contenu d'un répertoire vers un autre
    Par IG88 dans le forum Windows
    Réponses: 4
    Dernier message: 30/07/2004, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo