现在的位置: 首页 > 综合 > 正文

VC删除非空目录及所有文件的代码

2013年10月02日 ⁄ 综合 ⁄ 共 1225字 ⁄ 字号 评论关闭
//删除文件夹目录(非空)

bool DeleteDirectory(char* sDirName) 
...
    CFileFind tempFind; 
    
char sTempFileFind[200] ;
    
    sprintf(sTempFileFind,
"%s\*.*",sDirName); 
    BOOL IsFinded 
= tempFind.FindFile(sTempFileFind); 
    
while (IsFinded) 
    
...
        IsFinded 
= tempFind.FindNextFile(); 
        
        
if (!tempFind.IsDots()) 
        
...
            
char sFoundFileName[200]; 
            strcpy(sFoundFileName,tempFind.GetFileName().GetBuffer(
200)); 
            
            
if (tempFind.IsDirectory()) 
            
...
                
char sTempDir[200]; 
                sprintf(sTempDir,
"%s\%s",sDirName,sFoundFileName); 
                DeleteDirectory(sTempDir); 
            }
 
            
else 
            
...
                
char sTempFileName[200]; 
                sprintf(sTempFileName,
"%s\%s",sDirName,sFoundFileName); 
                DeleteFile(sTempFileName); 
            }
 
        }
 
    }
 
    tempFind.Close(); 
    
if(!RemoveDirectory(sDirName)) 
    
...
        
return FALSE; 
    }
 
    
return TRUE; 
}
 

/**//////////////////////////////////////////
//下面是应用,CString m_strDir 是一个文件夹路径,如:d:downloadpic

BOOL DelAll()
...{
    
if(PathFileExists(m_strDir))     
        DeleteDirectory((LPSTR)(LPCTSTR)m_strDir);
    
return 1;
}

抱歉!评论已关闭.