Ordnerinhalt löschen



  • Hallo,

    das Thema ist eigentlich schon meine Frage. Wie kann ich den Ordnerinhalt komplett mit allen Unterordnern löschen?

    [ Dieser Beitrag wurde am 05.12.2002 um 18:10 Uhr von DocReggae editiert. ]



  • Das sollte gehen:

    bool DelTree(const CString& Path)
    {
        CFileFind ff;
        bool err = false;
    
        BOOL cont = ff.FindFile(Path + "\\*");
        while(cont)
        {
            cont = ff.FindNextFile();
            if(ff.IsDots())
                continue;
            if(ff.IsDirectory())
                err |= !DelTree(ff.GetFilePath());
            else
            {
                CString file(ff.GetFilePath());
                SetFileAttributes(file,FILE_ATTRIBUTE_NORMAL);
                err |= !DeleteFile(ff.GetFilePath());
            }
        }
        ff.Close();
    
        SetFileAttributes(Path,FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_DIRECTORY);
        err |= !RemoveDirectory(Path);
    
        return !err;
    }
    


  • Klappt perfekt. Danke für die schnelle Antwort.



  • Ich finde man könnte damit die FAQ ergänzen. Da hats zwar schon was zu dem Thema,
    aber so ist es dann ausführlich...

    Devil

    [ Dieser Beitrag wurde am 05.12.2002 um 20:37 Uhr von devil81 editiert. ]



  • Hallo zusammen,

    man kann auch SHFileOperation verwenden.

    Da kann man dann diese typische 'Windowslöschen' mit den fliegenden Blättern ohne großen Aufwand realisieren.

    Grüße, Volle.


Anmelden zum Antworten