递归删除本地目录和ftp目录

本地目录:

void CAutoDelete::DoRecursionLocalDelete(CString& localDirectory) {
    CFileFind finder;
    CString strFileName;
    strFileName.Format("%s\\*.*", localDirectory);
    BOOL found = finder.FindFile(strFileName);
    while(found) {
        found = finder.FindNextFile();
        if(finder.IsDots()) {
            continue;
        }
        strFileName = finder.GetFilePath();
        if(finder.IsDirectory()) {
            DoRecursionLocalDelete(strFileName);
        } else {
            DeleteFile(strFileName);
        }
    }
    finder.Close();
    RemoveDirectory(strFileName);
}

ftp目录:

void CAutoDelete::DoRecursionFtpDelete(CString& ftpDirectory) {
    CFtpFileFind finder(m_pFtpConnection);
    CString strFileName;
    strFileName.Format("%s\\*.*", ftpDirectory);
    BOOL found = finder.FindFile(strFileName);
    while(found) {
        found = finder.FindNextFile();
        if(finder.IsDots()) {
            continue;
        }
        strFileName = finder.GetFilePath();
        if(finder.IsDirectory()) {
            finder.Close();
            DoRecursionFtpDelete(strFileName);
        } else {
            m_pFtpConnection->Remove(strFileName);
        }
    }
    finder.Close();
    m_pFtpConnection->RemoveDirectory(ftpDirectory);
}

 

posted @ 2014-02-27 16:30  琼'  阅读(566)  评论(0编辑  收藏  举报