c语言如何重命名文件夹,VC 复制移动删除重命名文件文件夹
/*
能产生对话框的标志:
FOF_SILENT //progress dialog
FOF_RENAMEONCOLLISION //replace dialog
FOF_NOCONFIRMATION //confirmation dialog
FOF_NOCONFIRMMKDIR //asks for your permission to create a new folder
FOF_NOERRORUI //error message
FOF_ALLOWUNDO //允许放回回收站,一般这个最好做默认
FOF_NOCONFIRMATION //不出现确认对话框(当需要覆盖时)
FOF_SILENT //不显示进度对话框
FOF_NOERRORUI //No user interface will be displayed if an error occurs.
FOF_NOCONFIRMMKDIR //如果目的目录不存在,就默认创建,不需确认
FOF_RENAMEONCOLLISION //如果文件(夹)已存在,自动为其添加序列号修改文件名。此时不会出现确认对话框
FOF_MULTIDESTFILES //把文件夹里的所有内容复制到FileOp.pTo指定的文件夹里,而不是直接复制一个文件夹
FOF_SIMPLEPROGRESS //Displays a progress dialog box but does not show the file names
FOF_CONFIRMMOUSE //Not currently implemented.
FOF_FILESONLY: //执行通配符,只执行文件;
FOF_WANTMAPPINGHANDLE: //要求SHFileOperation()函数返回正处于操作状态的实际文件列表,文件列表
名柄保存在hNameMappings成员中。SHFILEOPSTRUCT结构还包含一个SHNAMEMAPPING结构的数组,此数组
保存由SHELL计算的每个处于操作状态的文件的新旧路径。
说明:
1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile
2.每个函数都先拷贝了原来的路径,保证了路径是以2个\0\0结尾。(如果不以2个\0\0结尾,往往会出错)
3.对于文件或文件夹都适用
*/
/****************************************************************************
复制文件或者文件夹,需要把路径添加2个\0\0
****************************************************************************/
static
bool _CopyFile(const TCHAR *_pFrom,const TCHAR *_pTo,WORD flags=FOF_NOCONFIRMATION)
{
TCHAR pTo[MAX_PATH]={0}; _tcscpy(pTo,_pTo);
TCHAR pFrom[MAX_PATH]={0}; _tcscpy(pFrom,_pFrom);
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags= flags;
FileOp.pFrom = pFrom;
FileOp.pTo = pTo;
FileOp.wFunc = FO_COPY;
return SHFileOperation(&FileOp) == 0;
}
/****************************************************************************
删除文件或者文件夹,需要把路径添加2个\0\0
****************************************************************************/
static
bool _DeleteFile(const TCHAR* _pFrom,WORD flags=FOF_ALLOWUNDO|FOF_NOCONFIRMATION)
{
TCHAR pFrom[MAX_PATH]={0}; _tcscpy(pFrom,_pFrom);
SHFILEOPSTRUCT FileOp={0};
FileOp.pFrom = pFrom;
FileOp.pTo = NULL; //一定要是NULL
FileOp.fFlags= flags;
FileOp.wFunc = FO_DELETE; //删除操作
return SHFileOperation(&FileOp) == 0;
}
/****************************************************************************
移动文件或者文件夹,需要把路径添加2个\0\0
****************************************************************************/
static
bool _MoveFile(const TCHAR *_pFrom,const TCHAR *_pTo,WORD flags=FOF_NOCONFIRMATION)
{
TCHAR pTo[MAX_PATH]={0}; _tcscpy(pTo,_pTo);
TCHAR pFrom[MAX_PATH]={0}; _tcscpy(pFrom,_pFrom);
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags= flags;
FileOp.pFrom = pFrom;
FileOp.pTo = pTo;
FileOp.wFunc = FO_MOVE;
return SHFileOperation(&FileOp) == 0;
}
/****************************************************************************
重命名文件或者文件夹
可以的话用 rename(buf,TempFilePath) (文件和文件夹都可以) because不需要把路径添加2个\0\0
****************************************************************************/
static
bool _ReNameFile(const TCHAR *_pFrom,const TCHAR *_pTo,WORD flags=FOF_NOCONFIRMATION)
{
TCHAR pTo[MAX_PATH]={0}; _tcscpy(pTo,_pTo);
TCHAR pFrom[MAX_PATH]={0}; _tcscpy(pFrom,_pFrom);
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = flags;
FileOp.pFrom = pFrom;
FileOp.pTo = pTo;
FileOp.wFunc = FO_RENAME;
return SHFileOperation(&FileOp) == 0;
}
c语言如何重命名文件夹,VC 复制移动删除重命名文件文件夹相关推荐
- linux 复制并创建文件夹,Linux_文件及文件夹[创建][复制][移动][删除][重命名]
一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语 法: touch [-acfm][-d ][-r ][-t ] [--help] [--version ...
- linux 文件夹 乱码,Linux 如何删除乱码文件名的文件或文件夹
Terminal cd 到 Documents, 然后用ls指令,显示有个文件以-$N开头,但是直接通过界面的方式查看 Documents 中的文件,并看不到这个奇怪的文件. 尝试在terminal中 ...
- rar文件解压后可以删除吗?rar文件删除后怎么恢复?
rar通俗一点就叫压缩包,它是压缩包文件类型的其中一种,也是我们比较常见的压缩包类型.且问rar文件解压后可以删除吗?rar文件删除后怎么恢复?别着急,你想知道的答案都在本文,事不宜迟马上来看看吧! ...
- linux桌面卷积文件删除不掉,Linux 删除文件夹和文件的命令(强制删除包括非空文件)...
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r ...
- win10计算机文件夹,win10我的电脑6个文件夹如何清理_win10删除我的电脑6个文件夹操作步骤...
使用win10系统过程中,用户需要对系统中多余的文件进行及时的清理,以此提高系统运行的速度,然而最近有用户的win10系统我的电脑中出现了6个文件夹,那么win10我的电脑6个文件夹如何清理呢?下面就 ...
- html复制文件到目录,复制指定目录下的全部文件到另一个目录中
linux下文件的复制.移动与删除命令为:cp,mv,rm 复制指定目录下的全部文件到另一个目录中 假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了 ...
- 查找重复文件_快速查找、删除重复图片及文件!
照片或者文件多了难免就会有重复,浪费硬盘空间的情况,下面让我们一起使用ACDSee 官方免费版软件删除你的重复图片及文件吧! 1. 打开软件,点击"工具"下的"查找重复项 ...
- Linux 删除文件夹和文件的命令(强制删除包括非空文件)
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r ...
- linux删除百万个文件夹,linux下如何删除一百万个文件
今日QA发了个请求,要求删除某目录下指定格式的文件. [[email protected] resin-3.1.9]# ls | wc -l 1013964 统计了下,有一百万多个文件! 而且文件的命 ...
最新文章
- Spring Cloud Feign的两种使用姿势
- 算法-----数组------合并两个有序数组
- asp.net core 系列 18 web服务器实现
- windows10中屏幕键盘 vs 触摸键盘
- 《Go语言程序设计》读书笔记(二)函数
- 蓝桥杯 C语言 试题 算法训练 审美课
- python catia二次开发_CATIA VBA二次开发教程|使用零件的Body生成Product
- linux 更新包缓存目录,清除ubuntu下缓存、软件安装包和多余内核
- 基于fpga的方波发生器
- 有效 TCP RST
- 数据挖掘-朴素贝叶斯算法
- LightOJ 1395 A Dangerous Maze (II) 期望DP
- 甲骨文数据库基本知识
- java手机一款三国游戏_JAVA热游—富甲三国之雄霸天下原创心得
- 文本特征提取——one-hot
- 易拉宝Roll up Banner
- Appscan工具的使用
- Nginx配置WS、WSS域名
- 插件3-滑动验证(geetest)
- 获取TPM的VID以及DID
热门文章
- 【井字游戏】做一款回忆童年的游戏
- 4399笔试面试——感受
- Spring boot 配置健康检查
- 「镁客早报」库克抨击高通,表明不可能在法律纠纷中达成和解;传闻无人驾驶公司Aurora融资20亿美元...
- 网上酒店客房预定系统数据库设计
- 转:传说中破解基础----背的滚瓜烂熟差不多就会破解
- 无人值守自动安装——PXE(Preboot eXecution Environment)
- 入门深度学习与机器学习的经验和学习路径
- Role,Rolebinding与serviceAccount
- mysql的双机热备自动切换_Mysql双机热备配置(超详细多图版)