VC++6.0复制和删除指定的文件和文件夹
2012-06-10 00:00
453 查看
项目中一小段代码
//------------------------------------------------- // 复制文件 //------------------------------------------------- void CVideoDemoDlg::Copy_file() { TCHAR path[200]; CString strSrcPath; CString strDesPath; //设置要复制的到文件夹路径 strDesPath = "E:\\"; //设置当前工作路径 SetCurrentDirectory("D:\\"); GetCurrentDirectory(200,path); CFileFind finder; BOOL bWorking = finder.FindFile("*.*"); while (bWorking) { bWorking = finder.FindNextFile(); strSrcPath = "D:\\"; CString filename= finder.GetFileName(); //得到文件或文件夹名 if(filename==savanewfilename || filename == "." || filename == ".." || filename == "Recycled" || filename == "System Volume Information") { //对于文件系统提供的文件不fj } else { strSrcPath = strSrcPath + filename; CopyDirectory(strSrcPath,strDesPath); //复制目录 } } }
//------------------------------------------------- // 供Copy_file()使用 //------------------------------------------------- void CVideoDemoDlg::CopyDirectory(CString pTo,CString pFrom) { char buf[1024]; char buf1[1024]; SHFILEOPSTRUCT fo; memset(buf,0,sizeof(buf)); memset(buf1,0,sizeof(buf1)); memset(&fo,0,sizeof(fo)); strcpy(buf,pTo); strcpy(buf1,pFrom); fo.wFunc=FO_COPY; //复制是FO_COPY,删除是FO_DELETE; 移动FO_MOVE fo.pFrom=buf; fo.pTo=buf1; fo.fFlags=FOF_NOERRORUI|FOF_NOCONFIRMMKDIR | FOF_NOCONFIRMATION; SHFileOperation(&fo); } //------------------------------------------------- // 删除文件 //------------------------------------------------- void CVideoDemoDlg::Delete_file() { TCHAR path[200]; SetCurrentDirectory("D:\\"); //设置当前目录 GetCurrentDirectory(200,path); //得到当前目录路径 CFileFind finder; BOOL bWorking = finder.FindFile("*.*"); while (bWorking) { bWorking = finder.FindNextFile(); CString filename= finder.GetFileName(); //得到文件名 if(filename==savanewfilename || filename == "." || filename == ".."|| filename == "Recycled" || filename == "System Volume Information") { //如果是当前在存储的文件夹或根目录或上及目录以及磁盘回收站则不人任何处理 } else { DeleteDirectory(filename); //删除目录 } } } //------------------------------------------------- // 供Delete_file()调用 //------------------------------------------------- BOOL CVideoDemoDlg::DeleteDirectory(LPCTSTR DirName) { CFileFind tempFind; char tempFileFind[200]; sprintf(tempFileFind, "%s\\*.* ",DirName); BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind); //判断文件夹 while(IsFinded) { IsFinded=(BOOL)tempFind.FindNextFile(); //寻找下一个目录 if(tempFileFind == str) { //如果等于当前正在存储的文件夹就不进行任保操作 } 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(); //当寻找文件的事件结束就结束寻找功能 RemoveDirectory(DirName); //删除这个目录 return TRUE; }
以上代码是用于文件复制和删除,但是其特殊性,是由其需求确认,正在写的当前文件不能复制和删除
相关文章推荐
- 复制和删除指定文件夹下面的所有的文件文件夹
- vc 复制和删除指定的文件和文件夹
- Dos命令复制文件夹到制定目录 删除指定目录及其文件夹下的文件
- vc 复制和删除指定的文件和文件夹
- php删除指定目录下的的文件/文件夹-用PHP怎么删除某目录下指定的一个文件/文件夹?
- 使用VS的生成事件命令行指令将生成的exe,dll文件复制到指定文件夹中
- vb-复制ie临时文件夹下所有mp3文件到指定目录,并且将utf8编码转换过来
- linux 删除指定文件夹下边的.svn文件的命令
- asp.net 删除文件夹,指定文件夹,删除文件夹和所有文件,删除权限设置,递归删除文件夹目录及文件
- c#复制文件到指定文件夹
- java单个文件复制,递归删除、复制目录下所有内容,递归创建文件夹,.7z文件解压等
- DOS,WINDOWS递归删除指定文件夹或文件
- Java新建目录、新建文件、删除文件、删除文件夹、删除文件夹里面的所有文件、复制整个文件夹内容
- 删除指定文件夹中除保留的文件外的所有文件批处理 删除指定文件夹下的空文件夹,包括子目录批处理
- 【java】java各种删除指定文件夹或文件方法详解
- 删除指定目录下的文件及空文件夹
- 文件以及文件夹处理(新建,移动,删除,复制)
- java 删除指定文件夹 以及文件下下面的所有文件
- PHP 删除指定文件夹以及文件夹下的目录文件
- C# 删除、遍历指定目录下的所有指定文件、文件夹