首页
社区
课程
招聘
[原创]自写文件清理工具附带源码
发表于: 2015-10-14 10:50 7668

[原创]自写文件清理工具附带源码

2015-10-14 10:50
7668

学了俩周windows编程 做出来个这个小程序,大牛路过,莫见笑。

删除文件夹 就没必要做了 直接右键删除即可

可扩展:
常用软件垃圾、视频音频垃圾、上网垃圾、系统垃圾、注册表垃圾、网络游戏垃圾、恶意插件请等待后续开发...

Java、C#、PHP、Python、VB等编程语言请提供无用文件后缀、或者自己动手丰衣足食。

界面:


部分源码及实现功能介绍:
主要功能(引擎O(∩_∩)O~)

void C项目清理工具Dlg::TraverseFolder(LPCTSTR szName,LPCTSTR filetype)//读取文件  遍历当前文件目录
{
  WIN32_FIND_DATAW findFileData={0};
  TCHAR szFind[MAX_PATH] = {_T("\0")};
  CString pipei=filetype;//pipei 匹配O(∩_∩)O~
  BOOL bRet;
  CString fileRootPath = szName;
  CString filePath = fileRootPath+_T("\\*.*");
  HANDLE hwnd=FindFirstFile(filePath,&findFileData);
  if (hwnd==INVALID_HANDLE_VALUE)//没找到文件
  {
    MessageBox(_T("该文件路径不存在"),_T("错误"),NULL);
    flag=1;
    return;
  }
  while (true)
  {
    if (_tcscmp(findFileData.cFileName,_T("."))==0||
      _tcscmp(findFileData.cFileName,_T(".."))==0 )
    {
      bRet=FindNextFile(hwnd,&findFileData);
      if (!bRet)
      {
        break;
      }
      continue;
    }
    CString path = fileRootPath+ _T("\\")+ findFileData.cFileName;
    int index = path.ReverseFind(_T('.'));
    CString pix  = path.Right(path.GetLength()-index);
    if (pipei.Find(pix)!=-1)
    {
      DeleteFile(path);
    }
    if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    {
      _tcscpy_s(szFind,MAX_PATH,szName);
      _tcscat_s(szFind,_T("\\"));
      _tcscat_s(szFind,findFileData.cFileName);
      TraverseFolder(szFind,pipei);
    }
    bRet=FindNextFile(hwnd,&findFileData);
    if (!bRet)
    {
      errorNum++;
      break;
    }
  }
}
TCHAR szDir[MAX_PATH];  
  BROWSEINFO bi;   
  ITEMIDLIST *pidl;   
  bi.hwndOwner = this->m_hWnd;   
  bi.pidlRoot = NULL;  
  bi.pszDisplayName = szDir;//这个是输出缓冲区   
  bi.lpszTitle = _T("选择输出文件夹:"); //标题  
  bi.ulFlags = BIF_NEWDIALOGSTYLE;//使用新的界面,在win7中效果较好//BIF_RETURNONLYFSDIRS;   
  bi.lpfn = NULL;  
  bi.lParam = 0;  
  bi.iImage = 0;  
  pidl = SHBrowseForFolder(&bi);//弹出对话框   
  if (pidl == NULL)//点了取消,或者选择了无效的文件夹则返回NULL  
    return;  

  if(SHGetPathFromIDList(pidl, szDir))   
    m_str = szDir;//szDir就是要获取的文件夹    
  UpdateData(FALSE);

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
才学了2周就
2015-10-14 11:13
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
3
嗯 一周MFC,一周SDK
2015-10-14 11:36
0
游客
登录 | 注册 方可回帖
返回
//