QQ登录

只需一步,快速开始

177上位机VC MFC删除指定类型文件

[ 复制链接 ]

177上位机VC MFC删除指定类型文件

177上位机VC MFC删除指定类型文件
177上位机VC MFC删除指定类型文件
功能展示
有时我们要删除指定文件夹内指定的类型文件,比如要删除后缀为.CPP或.H或.TXT的文件,我们就得在目录内迭代查找与删除文件,我们当前例程实现这一功能,效果如图;
要点提示
文件夹内文件的迭代查找可以用CFileFind的成员函数来完成;
查找的文件后缀有分大小写,可以使用Cstring类的MakeLower(),MakeUpper()实现大写,小写的转变;
文件的删除可以用函数DeleteFile()实现
实现功能
1.新建基于对话框的应用程序
2.拖拽两编辑框ID为IDC_EDIT2,IDC_EDIT1用于输入要查找的文件名及查找目录;
拖拽一按钮<浏览>用于浏览查找的目录,拖拽按钮<删除>用于删除已打开的文件;
拖拽一列表框ID为IDC_LIST1,用于罗列出已删除的文件路径;
按钮函数为
  1. void CGkbc8Dlg::OnExplor()
  2. {
  3.         BROWSEINFO bif;
  4.         char buf[MAX_PATH];
  5.         ZeroMemory(buf,MAX_PATH);
  6.         bif.hwndOwner= GetSafeHwnd();
  7.         bif.iImage=0;
  8.         bif.lParam=0;
  9.         bif.lpfn=NULL;
  10.         bif.lpszTitle="Choose Folder";
  11.         bif.pidlRoot=0;
  12.         bif.pszDisplayName=buf;
  13.         bif.ulFlags=BIF_EDITBOX;
  14.         LPITEMIDLIST pList=NULL;
  15.         pList=SHBrowseForFolder(&bif);
  16.         if(NULL!=pList)
  17.         {
  18.                 SHGetPathFromIDList(pList,buf);
  19.                 SetDlgItemText(IDC_EDIT2,buf);
  20.         }
  21. }
复制代码
  1. void CGkbc8Dlg::OnDelete()
  2. {
  3.         CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  4.         pListBox->ResetContent();
  5.         
  6.         CString sPathName,sFileName;
  7.         GetDlgItemText(IDC_EDIT1,sFileName);
  8.         GetDlgItemText(IDC_EDIT2,sPathName);
  9.         FindFile(sPathName,sFileName);
  10. //
  11.         CString sPath;
  12.         int nCount = pListBox->GetCount();        
  13.         for(int i=0;i<nCount;i++)
  14.         {
  15.                 pListBox->GetText(i,sPath);
  16.                 DeleteFile(sPath);
  17.         }               
  18. }
  19. BOOL CGkbc8Dlg::FindFile(CString sDir,CString sFileName)
  20. {
  21.         CString sTemp;//路径改为\*.*形式
  22.         if(sDir.Right(1)!="\")
  23.                 sTemp.Format("%s\\*.*",sDir);
  24.         else
  25.                 sTemp.Format("%s*.*",sDir);
  26. //
  27.         CString sFindFileName;//找到的文件名
  28.         CFileFind findfile;
  29.         BOOL bfind=findfile.FindFile(sTemp);
  30.         while(bfind)
  31.         {
  32.                 bfind=findfile.FindNextFile();
  33.                 sFindFileName = findfile.GetFileName();
  34.                 sFileName.MakeUpper();
  35.                 CString sUFileName = sFileName;//大写
  36.                 sFileName.MakeLower();
  37.                 CString sLFileName = sFileName;//小写
  38.                
复制代码
  1. if(sFileName==sFindFileName||sFindFileName.Find(sLFileName)!=-1||sFindFileName.Find(sUFileName)!=-1)
  2.                 {
  3.                         CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LIST1);
  4.                         pListBox->AddString(findfile.GetFilePath());
  5.                 }
  6.                 if(findfile.IsDirectory()&&!findfile.IsDots())
  7.                 {
  8.                         FindFile(findfile.GetFilePath(),sFileName);
  9.                 }
  10.         }
  11.         return bfind;
  12. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:177.上位机VC MFC批量删除指定类型文件.rar 
文件大小:125.7 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索