C 实现删除非空文件夹
- /*
- 文件名: rd.c
- ----------------------------------------------------
- c中提供的对文件夹操作的函数,只能对空文件夹进行
- 删除,这使很多初学者在编码过程中产生许多困扰,我也
- 很不爽这件事情,所以编写这个对非空文件夹进行删除的
- 函数,仅供参考。
- 注意:本函数编写以VC6为依据,其中关于文件夹的操作函数
- 与标准c有所区别。如VC6中的findclose可能需要用c
- 中的closedir()来代替。
- ----------------------------------------------------
- 日期 程序员 变更记录
- 2010.4.28 海总(掌门人号) 创建文件,编写函数
- ----------------------------------------------------
- */
- #include <stdio.h>
- #include <io.h>
- #include <string.h>
- #include <direct.h>
- /*
- 函数入口:文件夹的绝对路径
- const char* dirPath
- 函数功能:删除该文件夹,包括其中所有的文件和文件夹
- 返回值: 0 删除
- -1 路径不对,或其它情况,没有执行删除操作
- */
- int removeDir(const char* dirPath)
- {
- struct _finddata_t fb; //查找相同属性文件的存储结构体
- char path[250];
- long handle;
- int resultone;
- int noFile; //对系统隐藏文件的处理标记
- noFile = 0;
- handle = 0;
- //制作路径
- strcpy(path,dirPath);
- strcat (path,"/*");
- handle = _findfirst(path,&fb);
- //找到第一个匹配的文件
- if (handle != 0)
- {
- //当可以继续找到匹配的文件,继续执行
- while (0 == _findnext(handle,&fb))
- {
- //windows下,常有个系统文件,名为“..”,对它不做处理
- noFile = strcmp(fb.name,"..");
- if (0 != noFile)
- {
- //制作完整路径
- memset(path,0,sizeof(path));
- strcpy(path,dirPath);
- strcat(path,"/");
- strcat (path,fb.name);
- //属性值为16,则说明是文件夹,迭代
- if (fb.attrib == 16)
- {
- removeDir(path);
- }
- //非文件夹的文件,直接删除。对文件属性值的情况没做详细调查,可能还有其他情况。
- else
- {
- remove(path);
- }
- }
- }
- //关闭文件夹,只有关闭了才能删除。找这个函数找了很久,标准c中用的是closedir
- //经验介绍:一般产生Handle的函数执行后,都要进行关闭的动作。
- _findclose(handle);
- }
- //移除文件夹
- resultone = rmdir(dirPath);
- return resultone;
- }
C 实现删除非空文件夹相关推荐
- 关于VC中删除非空文件夹
要删除文件夹,我们可以用到SHFILEOPSTRUCT这种结构体,利用该结构体可以删除空文件夹和非空文件夹. typedef struct _SHFILEOPSTRUCT{ HWND hwn ...
- python 删除文件夹、删除非空文件夹
一般删除文件时使用os库,然后利用os.remove(path)即可完成删除,如果删除空文件夹则可使用os.removedirs(path)即可, 但是如果需要删除整个文件夹,且文件夹非空时使用os ...
- c语言删除非空文件夹
rmdir rmdir() 删除空的文件夹 unlink unlink(); man page 的解释: unlink() deletes a name from the filesystem. If ...
- cmd强制删除非空文件夹
E:\program\anewlabor\frontend>rd /S /Q node_modules rd 删除文件夹 键入到要删除的目录下: /S删除目录及目录下的所有子目录和文件 /Q 可 ...
- python 删除非空文件夹
import os import shutilos.remove(path) #删除文件 os.removedirs(path) #删除空文件夹 shutil.rmtree(path) #递归删除文件 ...
- vc 递归删除非空文件夹
我觉得这是一个非常不错的递归例子 头文件 #pragma once #include <atlstr.h> #include <io.h> #include <strin ...
- linux删除非空文件夹
rm -rf 文件夹名字
- vbs删除非空文件夹
Set oFso = CreateObject("Scripting.FileSystemObject") oFso.DeleteFolder yourpath,True '可能后 ...
- Python操作FTP服务器实现文件和文件夹的上传与下载,python清理ftp目录下的所有文件和非空文件夹
Python 连接 FTP 服务器并实现文件夹上传实例演示 第一章:连接 FTP 服务器并实现文件夹上传 ① 连接 FTP 服务器 ② 区分文件和文件夹名 ③ 文件夹名包含空格处理 ④ 使用递归实现: ...
最新文章
- 经典大数据面试题及解析
- 计算机视觉领域不同的方向:目标识别、目标检测、语义分割等
- JQuery EasyUi控件值的获取与设置
- leetcode算法题--Unique Binary Search Trees II
- php5 函数,2017PHP5函数大全
- 搭建本地文件服务器实验报告,下搭建服务器实验报告.pdf
- apache kafka_Apache Kafka消费者再平衡
- 文字转换为音频mp3的方法
- 2022新版X站模板 二开苹果cms视频网站源码可封装app(学习教程)
- 生活中的逻辑谬误04.赌徒谬误
- 权威发布丨2020 中国开源先锋 33 人之心尖上的开源人物
- 字符类型与Unicode 编码
- 德国奔驰、博世和保时捷的员工年薪有多少?
- matlab封装的模块,matlab模块封装
- 快速聊天回复神奇工具程序软件下载
- 各种稀奇古怪的问题(持续更新中)
- 行业大咖齐聚鹏城 八大峰会打造2021深圳国际全触与显示展“新名片”
- 计算机怎么重装win7,如何重装电脑系统win7,最新电脑重装系统教程
- 什么是CTS、CLS、CLR
- python初学-下载模块后导入失败(windows)
热门文章
- spring事务-说说Propagation及其实现原理
- SpringCloud_项目搭建以及Eureka
- 从150kHz 到 150MHz漫谈智能车竞赛中的无线导航技术
- 电子漫画 - 轻轻松松
- php中strtotime(date,js模仿php中strtotime()与date()函数实现方法
- mysql每秒支持多少并发_如何设计一个高并发系统?
- instagram api java_如何在没有用户交互的情况下获得instagram access_token(新api)?...
- mysql sql 1到10_(1.10)SQL优化——mysql 常见SQL优化
- php.zip安装教程,php如何安装zip模块?(方法介绍)
- 将数据库服务器的文件D 改名为,MySQL如何更改数据库数据存储目录详解