MFC对文件文件夹转移、删除、重命名、复制

转载 2013年12月04日 17:08:05

 

SHFileOperation()函数主要对文件夹有四种操作:复制,删除,移动,重命名。

写了四个函数。可以很好的对文件夹进行操作。

 

//函数名:MoveFolder

  //参数:lpszFromPath 源文件夹路径 。lpszToPath 目的文件夹路径

  //作用:移动原文件夹及其中文件都指定的路径下

  //

  /////////////////////////////////////

  BOOL MoveFolder(LPCTSTR lpszFromPath,LPCTSTR lpszToPath)

  {

  int nLengthFrm = strlen(lpszFromPath);

  char *NewPathFrm = new char[nLengthFrm+2];

  strcpy(NewPathFrm,lpszFromPath);

  NewPathFrm[nLengthFrm] = '\0';

  NewPathFrm[nLengthFrm+1] = '\0';

  SHFILEOPSTRUCT FileOp;

  ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));

  FileOp.fFlags = FOF_NOCONFIRMATION ;

  FileOp.hNameMappings = NULL;

  FileOp.hwnd = NULL;

  FileOp.lpszProgressTitle = NULL;

  FileOp.pFrom = NewPathFrm;

  FileOp.pTo = lpszToPath;

  FileOp.wFunc = FO_MOVE;

  return SHFileOperation(&FileOp) == 0;

  }



/////////////////////////////////////

  //ReNameFolder

  //参数:lpszFromPath 源文件夹路径 。lpszToPath 目的文件夹路径

  //作用:修改原文件夹的名字。

  //

  /////////////////////////////////////

  BOOL ReNameFolder(LPCTSTR lpszFromPath,LPCTSTR lpszToPath)

  {

  int nLengthFrm = strlen(lpszFromPath);

  char *NewPathFrm = new char[nLengthFrm+2];

  strcpy(NewPathFrm,lpszFromPath);

  NewPathFrm[nLengthFrm] = '\0';

  NewPathFrm[nLengthFrm+1] = '\0';

  SHFILEOPSTRUCT FileOp;

  ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));

  FileOp.fFlags = FOF_NOCONFIRMATION ;

  FileOp.hNameMappings = NULL;

  FileOp.hwnd = NULL;

  FileOp.lpszProgressTitle = NULL;

  FileOp.pFrom = NewPathFrm;

  FileOp.pTo = lpszToPath;

  FileOp.wFunc = FO_RENAME;

  return SHFileOperation(&FileOp) == 0;

  }



/////////////////////////////////////

  //函数名:DeleteFolder

  //输入参数:LpszPath 要删除的路径指针

  //作用:删除指定文件夹以及里面的文件

  //

  /////////////////////////////////////

  BOOL DeleteFolder(LPCTSTR lpszPath)

  {

  int nLength = strlen(lpszPath);

  char *NewPath = new char[nLength+2];

  strcpy(NewPath,lpszPath);

  NewPath[nLength] = '\0';

  NewPath[nLength+1] = '\0';

  SHFILEOPSTRUCT FileOp;

  ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));

  FileOp.fFlags = FOF_NOCONFIRMATION;

  FileOp.hNameMappings = NULL;

  FileOp.hwnd = NULL;

  FileOp.lpszProgressTitle = NULL;

  FileOp.pFrom = NewPath;

  FileOp.pTo = NULL;

  FileOp.wFunc = FO_DELETE;

  return SHFileOperation(&FileOp) == 0;

  }

  /////////////////////////////////////

  //函数名:CopyFolder

  //参数:lpszFromPath 源文件夹的路径 。 lpszToPath 目的文件夹的路径

  //作用:拷贝文件夹及其文件夹中的所有内容

  //

  //////////////////////////////////////

  BOOL CopyFolder(LPCTSTR lpszFromPath,LPCTSTR lpszToPath)

  {

  int nLengthFrm = strlen(lpszFromPath);

  char *NewPathFrm = new char[nLengthFrm+2];

  strcpy(NewPathFrm,lpszFromPath);

  NewPathFrm[nLengthFrm] = '\0';

  NewPathFrm[nLengthFrm+1] = '\0';

  SHFILEOPSTRUCT FileOp;

  ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));

  FileOp.fFlags = FOF_NOCONFIRMATION ;

  FileOp.hNameMappings = NULL;

  FileOp.hwnd = NULL;

  FileOp.lpszProgressTitle = NULL;

  FileOp.pFrom = NewPathFrm;

  FileOp.pTo = lpszToPath;

  FileOp.wFunc = FO_COPY;

  return SHFileOperation(&FileOp) == 0;

  }


Python学习笔记(20)-文件和文件夹的移动、复制、删除、重命名

一,概述python中对文件和文件夹进行移动、复制、删除、重命名,主要依赖os模块和shutil模块,要死记硬背这两个模块的方法还是比较困难的,可以用一个例子集中演示文件的移动、复制、删除、重命名,用...
  • woshisangsang
  • woshisangsang
  • 2017年07月04日 22:48
  • 1691

linux下文件夹的创建、复制、剪切、重命名、清空和删除

linux下文件夹的创建、复制、剪切、重命名、清空和删除
  • zpcandzhj
  • zpcandzhj
  • 2015年04月23日 10:03
  • 1793

VC++中windows下的文件复制、删除、重命名操作

都可以很方便的通过windows.h中的函数来实现 一、文件的复制 #include #include using namespace std; int CopyFile(char...
  • mmjwung
  • mmjwung
  • 2013年01月14日 10:20
  • 7451

MFC 搜索文件目录下的子文件夹重命名

  • 2017年05月20日 16:19
  • 1.83MB
  • 下载

Python 文件/文件夹操作(读写read/write、复制copy、删除delete、重命名rename)

1. 读文件    fp = open("demo.txt", mode="r", encoding="gbk")        fp.read()  #  一次性读取所有内容,指针指向文件末尾 ...
  • youngwhz1
  • youngwhz1
  • 2016年04月12日 17:20
  • 2865

Android 关于文件及文件夹的创建 、删除、重命名、复制拷贝、添加内容、修改内容、读取内容

这几天做了一个Android关于文件及文件夹相关操作的软件,自己就总结写了一个关于文件创建、遍历、删除、重命名、复制拷贝、添加内容、修改内容、读取内容的工具类,方便以后快速的对文件进行一些简单操作,使...
  • javaSXL
  • javaSXL
  • 2017年05月10日 14:33
  • 1036

VC 复制移动删除重命名文件文件夹 .

说明:1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile2.每个函数都先拷贝了原来的路径,保证了路径是以2个/0/0结尾。(如果不以2个/0/...
  • guomei
  • guomei
  • 2011年07月25日 15:33
  • 1231

文件操作 复制移动删除重命名文件文件夹(转帖)

文件操作 复制移动删除重命名文件文件夹转自:http://blog.csdn.net/jacky_qiu/archive/2010/12/04/6054759.aspx━━━━━━━━━━━━━━━━...
  • luxiaoyu_sdc
  • luxiaoyu_sdc
  • 2011年03月16日 16:31
  • 2512

Java遍历文件夹,重命名文件,删除文件,复制文件等操作

package mycompare; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFound...
  • SCGH_Fx
  • SCGH_Fx
  • 2017年05月11日 14:43
  • 251

shell rm 重命名 删除文件或文件夹

功能:rm 命令,删除一个目录中的一个或多个文件或目录(文件夹)。 它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。文件一旦被删除,它不能被恢复。...
  • sweeter2
  • sweeter2
  • 2016年03月16日 11:17
  • 494
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC对文件文件夹转移、删除、重命名、复制
举报原因:
原因补充:

(最多只允许输入30个字)