当前位置: 代码迷 >> VC >> 删除文件夹遇‘公文包’求解,该怎么解决
  详细解决方案

删除文件夹遇‘公文包’求解,该怎么解决

热度:10014   发布时间:2013-02-25 00:00:00.0
删除文件夹遇‘公文包’求解
首先我定义了个删除某一文件夹的方法
C/C++ code
BOOL DeleteDirectory(char *DirName)//参数结尾不包含‘\’{    CFileFind tempFind;    char tempFileFind[200];    sprintf(tempFileFind,"%s\\*.*",DirName);    MessageBox(0,tempFileFind,NULL,MB_OK);    BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);    while(IsFinded)    {        IsFinded=(BOOL)tempFind.FindNextFile();        if(!tempFind.IsDots())        {            char foundFileName[200];            strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));            if(tempFind.IsDirectory())            {                char tempDir[200];                sprintf(tempDir,"%s\\%s",DirName,foundFileName);                DeleteDirectory(tempDir);            }            else            {                char tempFileName[200];                sprintf(tempFileName,"%s\\%s",DirName,foundFileName);                DeleteFile(tempFileName);            }        }    }    tempFind.Close();    if(!RemoveDirectory(DirName))    {        MessageBox(NULL,"失败!",NULL,MB_OK);        return FALSE;    }    return TRUE;}


该方法在正常情况下是好用滴...可是!当目标文件夹内部存在'公文包'(就是右键能直接创建的那种)类型的文件时
会失败。
求高手赐教!解决‘公文包’问题彻底实现完全删除!


------解决方案--------------------------------------------------------
你先看一下“公文包”具体是个什么东东,有哪些特殊属性,程序删除失败时有没有错误码。
我记得“公文包”好象是一个“软连接”,记不清了。
  相关解决方案