windows删除一个目录下的文件c代码
来源:互联网 发布:微软办公软件2007 编辑:程序博客网 时间:2024/06/07 16:19
/************************************************************************ deleteFile.h* 删除一个目录下的文件****************/#ifdef __cplusplus extern "C" { #endif#ifdef UNICODE#define DelFile DelFileW void DelFileW(char *cFilePath);#else#define DelFile DelFileA void DelFileA(char *cFilePath);#endif#ifdef __cplusplus} #endif
/************************************************************************ deleteFile.cpp****************/#include <windows.h>#include <stdio.h>#include <bitset>#include "deleteFile.h"using namespace std;#ifdef UNICODEvoid DelFileW(char *cFilePath){ WIN32_FIND_DATA data; HANDLE hFind; //char cFullPath[100]; //char cNewPath[100]; WCHAR cFullPath[MAX_PATH] = { 0 }; WCHAR cNewPath[MAX_PATH] = { 0 }; char NewPath[MAX_PATH] = { 0 }; char FullPath[MAX_PATH] = { 0 }; wchar_t *ch_dot = L"."; wchar_t *ch_double_dot = L".."; MultiByteToWideChar(CP_ACP, 0, cFilePath, strlen(cFilePath) + 1, cFullPath, sizeof(cFullPath) / sizeof(cFullPath[0])); wsprintf(cFullPath, L"%s\\*.*", cFullPath); hFind = FindFirstFile(cFullPath, &data); do { if ((!wcscmp(ch_dot, data.cFileName)) || (!wcscmp(ch_double_dot, data.cFileName))) { continue; } if (data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { MultiByteToWideChar(CP_ACP, 0, cFilePath, strlen(cFilePath) + 1, cFullPath, sizeof(cFullPath) / sizeof(cFullPath[0])); wsprintf(cNewPath, L"%s\\%s", cFullPath, data.cFileName); WideCharToMultiByte(CP_ACP, 0, cNewPath, -1, NewPath, MAX_PATH, NULL, NULL); DelFileW(NewPath);//递归 } // MessageBox(NULL,data.cFileName,"Look",0); MultiByteToWideChar(CP_ACP, 0, cFilePath, strlen(cFilePath) + 1, cFullPath, sizeof(cFullPath) / sizeof(cFullPath[0])); wsprintf(cFullPath, L"%s\\%s", cFullPath, data.cFileName); DeleteFile(cFullPath); } while (FindNextFile(hFind, &data)); MultiByteToWideChar(CP_ACP, 0, cFilePath, strlen(cFilePath) + 1, cFullPath, sizeof(cFullPath) / sizeof(cFullPath[0])); RemoveDirectory(cFullPath); FindClose(hFind);}#elsevoid DelFileA(char *cFilePath){ WIN32_FIND_DATA data; HANDLE hFind; char NewPath[MAX_PATH] = { 0 }; char FullPath[MAX_PATH] = { 0 }; const char *ch_dot = "."; const char *ch_double_dot = ".."; sprintf(FullPath, "%s\\*.*", cFilePath); hFind = FindFirstFile(FullPath, &data); do{ if ((!strcmp(ch_dot, data.cFileName)) || (!strcmp(ch_double_dot, data.cFileName))) { continue; } if (data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { sprintf(NewPath, "%s\\%s", cFilePath, data.cFileName); DelFileA(NewPath);//递归 } sprintf(FullPath, "%s\\%s", cFilePath, data.cFileName); DeleteFile(FullPath); } while (FindNextFile(hFind, &data)); RemoveDirectory(cFilePath); FindClose(hFind);}#endif
0 0
- windows删除一个目录下的文件c代码
- windows c获取一个目录下的所有文件
- 删除一个目录下的文件
- 删除一个目录下的所有文件
- 删除一个固定目录下的文件
- Windows递归删除目录下所有文件-C实现
- 用命令或批处理命令一次删除windows系统一个目录下的所有文件
- 因为删除 c:\windows\Installer目录下的文件, SQL Server 2014 SP2 打补丁失败
- C语言 递归地删除一个指定目录下所有指定类型的文件
- 删除一个文件目录下的所有文件
- windows 批处理 bat 删除一个目录下的文件夹
- windows下c语言获取程序当前的执行目录,读文件的代码片
- 删除目录下相同文件的python代码(逐级优化)
- 一行php代码删除指定目录下的所有文件
- windows下c++读取一个目录下的所有文件
- 遍历删除一个目录下所有文件的函数
- 一个目录下有大量文件时的删除
- VC中删除一个目录下的所有文件
- 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务
- No Dialect mapping for JDBC type: -1 问题解决
- Eclipse读取xml中文乱码问题解决
- Rotate Array
- android性能测试
- windows删除一个目录下的文件c代码
- 安卓微信浏览器加border-radius出现模糊(锯齿)
- Observer(观察者)设计模式
- jQuery HTML节点元素修改、追加的方法
- leetcode 009 Palindrome Number(难易度:Easy)
- 基于HttpURLConnection 的Get\Post封装(一)
- jQuery操作表格
- android(45)(帧动画,补间动画,xml补间动画)
- 在Linux5和6上批量部署系统