前言
项目进行过程中遇到一些文件夹相关操作,本文主要是删除指定目录。
c++代码如下:
/************************************************************************ * Copyright(c) 2016 ZRJ * All rights reserved. * * File: main.cpp * Brief: copy/rename/delete/mkdir Folder * Version: 1.0 * Author: ZRJ * Email: happyamyhope@163.com * Date: 2016/12/08 * History: * 20161208:复制/重命名/删除/重建文件夹; ************************************************************************/ //头文件 #include <stdio.h> #include <iostream> #include "Windows.h" //获取系统时间 #include <time.h> //复制文件夹并重命名 #include <io.h>//_access函数 #include <direct.h>//mkdir #include "Shellapi.h" #include "tchar.h" //#include "shlwapi.h" #pragma comment(lib,"shell32.lib") //告诉编译器在编译形成的.obj文件和.exe文件中添加一条信息,使得连链接器在链接库时去直接找shell32.lib这个库,不要去找别的库; //----------------------------------------- //调参 time_t t; char now[64]; SHFILEOPSTRUCT fop; //----------------------------------------- //函数声明 BOOL SHDeleteFolder(LPCTSTR pstrFolder);//删除指定目录 void CopyFolder(SHFILEOPSTRUCT fop);//复制文件夹到另一个文件夹路径并重命名该文件夹,删除目录并重建 void CreateFolder(char* filename);//不存在则创建文件夹; //----------------------------------------- //函数定义 //删除指定目录 BOOL SHDeleteFolder(LPCTSTR pstrFolder) { //int iPathLen = _tcslen(pstrFolder); size_t iPathLen = _tcslen(pstrFolder); TCHAR tczFolder[MAX_PATH + 1]; SHFILEOPSTRUCT FileOp; if ((NULL == pstrFolder)) { return FALSE; } if (iPathLen >= MAX_PATH) { return FALSE; } /*确保目录的路径以2个 结尾*/ ZeroMemory(tczFolder, (MAX_PATH + 1)*sizeof(TCHAR)); _tcscpy(tczFolder, pstrFolder); tczFolder[iPathLen] = _T('