Berry's blog with C++ & .Net

Windows & VxWorks development and learning notes.

导航

VC中删除目录中的文件以及拷贝文件

Posted on 2009-10-15 10:48  Berry029  阅读(814)  评论(0)    收藏  举报

//tianfu add to delete all the files in the dir
BOOL DeleteDirectory(char *DirName)
{
    CFileFind tempFind;
    char tempFileFind[200];
    sprintf(tempFileFind,"%s\\*.*",DirName);
    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();
    return TRUE;
}  

//tianfu add to copy tif files in the sourcedir to targetdir
BOOL copyTifFiles(char* sourceDir, char* targetDir)
{
    CFileFind tempFind;
    char tempFileFind[200];
    sprintf(tempFileFind,"%s\\*.tif",sourceDir);
    BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
    while(IsFinded)
    {
        IsFinded=(BOOL)tempFind.FindNextFile();

        if(!tempFind.IsDots())
        {
            char foundFileName[200];
            strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
            char tempFileName[200];
            sprintf(tempFileName,"%s\\%s",sourceDir,foundFileName);
            char tempFileName1[200];
            sprintf(tempFileName1,"%s\\%s",targetDir,foundFileName);
            CopyFile(LPCTSTR(tempFileName), LPCTSTR(tempFileName1), FALSE);
        }
    }
    tempFind.Close();
    return TRUE;
}

例子:
char *target = "c:\\ab";
char *source = "c:\\abc";
//删除目录下所有文件
DeleteDirectory(target);
//拷贝.tif文件
copyTifFiles(source, target);