请教!!!如何写一个删除指定目录下文件的程序,并且可以设置时间段,与删除IE中的临时文件类似。最好有源码!!

解决方案 »

  1.   

    【问题】怎样删除一个非空目录,及其目录里面所有内容:
    【解答1】如果不进行递归删除。你可以使用API函数SHFileOperation,它可以一次删除目录及其下面的子目录和文件。
        示例代码:
        BOOL DelTree(LPCTSTR lpszPath)
    {
      SHFILEOPSTRUCT FileOp;
      FileOp.fFlags = FOF_NOCONFIRMATION;
      FileOp.hNameMappings = NULL;
      FileOp.hwnd = NULL;
      FileOp.lpszProgressTitle = NULL;
      FileOp.pFrom = lpszPath;
      FileOp.pTo = NULL;
      FileOp.wFunc = FO_DELETE;
      return SHFileOperation(&FileOp) == 0;
    }【解答2】使用递归调用,逐个删除:
      示例代码:  BOOL DeleteDirectory(char *DirName)//如删除 DeleteDirectory("c:\\aaa") 
    {
     CFileFind tempFind;
     char tempFileFind[MAX_PATH];
     sprintf(tempFileFind,"%s\\*.*",DirName);
     BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
     while(IsFinded)
     {
      IsFinded=(BOOL)tempFind.FindNextFile();
      if(!tempFind.IsDots())
      {
       char foundFileName[MAX_PATH];
       strcpy(foundFileName,tempFind.GetFileName().GetBuffer(MAX_PATH));
       if(tempFind.IsDirectory())
       {
        char tempDir[MAX_PATH];
        sprintf(tempDir,"%s\\%s",DirName,foundFileName);
        DeleteDirectory(tempDir);
       }
       else
       {
        char tempFileName[MAX_PATH];
        sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
        DeleteFile(tempFileName);
       }
      }
     }
     tempFind.Close();
     if(!RemoveDirectory(DirName))
     {
      MessageBox(0,"删除目录失败!","警告信息",MB_OK);//比如没有找到文件夹,删除失败,可把此句删除
      return FALSE;
     }
     return TRUE;
    }
      

  2.   

    if(_access("c:\temp.txt", 0)!=-1)//文件是否存在
    {
    _unlink("c:\temp.txt");//删除文件
    }
      

  3.   

    CFile::Remove("C:\\testFile.txt");
    学习ing
      

  4.   

    kugou123(酷狗)的说明已经很详尽了,直接用就好了啊
    if (DelTree(c:\\tmp) != TRUE){return ;}
    if (DeleteDirectory(c:\\tmp) != TRUE){return ;}
      

  5.   

    应该和COFF文件格式有关,你的程序应该可以判断文件的时间。然后根据时间范围来删除文件。参考:
    http://www.51one.net/info/4212360135252281.htm
      

  6.   

    文件头里面有一个结构体typedef struct {
      unsigned short usMagic;  // 魔法数字
      unsigned short usNumSec;  // 段落(Section)数
      unsigned long  ulTime;  // 时间戳
      unsigned long  ulSymbolOffset;  // 符号表偏移
      unsigned long  ulNumSymbol;  // 符号数
      unsigned short usOptHdrSZ;  // 可选头长度
      unsigned short usFlags;  // 文件标记
    } FILEHDR;其中,unsigned long  ulTime;就是文件建立的时间了。