FatFs检测并建立多层目录并更改文件名

2024-03-03 01:32

本文主要是介绍FatFs检测并建立多层目录并更改文件名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

FatFs检测文件路径是否存在,不存在就建立多层目录,最后更改文件名

if(W_Dresult==FR_OK) 
{														wifi_dp_wav_file_status=0;start_downloading=0;/*************************************遍历创建文件夹*************************************************************/u8 opendir_err = 0;   //错误提示char SonPath[10][50]; //最多10层,每层最多50字符char RootPath[200];   //最低已存在路径memset(SonPath, '\0', sizeof(SonPath)); //初始化memcpy(RootPath, DownFileName, sizeof(DownFileName));u8 num = 0;           // 剔除的次数do                      //遍历寻找文件夹{char *dot = strrchr(RootPath, '\\');   //剔除一层memcpy(SonPath[num], dot, &RootPath[strlen(RootPath)] - dot);  //保存子目录for(int i=0;i<dot-RootPath;i++) RootPath[dot-RootPath+i] = '\0';W_Dresult = f_opendir(&W_Ddir, RootPath); //检测文件夹if(W_Dresult == FR_OK){printf(">> 文件夹存在[%s]\r\n",RootPath);break;}else{printf(">> 文件夹打开错误 - %d [%s]\r\n",W_Dresult, RootPath);if(W_Dresult == FR_NO_PATH){opendir_err = 1;num ++;continue;}}}while(1);if(opendir_err == 1){//遍历创建文件夹opendir_err = 0;for(int i=0;i<num;i++){memcpy(&RootPath[strlen(RootPath)], SonPath[num-i], strlen(SonPath[num-i]));W_Dresult = f_mkdir(RootPath);if(W_Dresult == FR_OK) { printf(">> 创建文件夹成功[%s]\r\n", RootPath); }else printf(">> 创建文件夹失败 - %d [%s]\r\n",W_Dresult, RootPath);}}
/****************************************************************************************/		W_Dresult = f_rename(recfilename,DownFileName);  //更改临时的文件名printf(">> 云端文件名:%s\r\n",DownFileName);if(W_Dresult == FR_OK) printf(">> 更改文件名成功 - %s\r\n",DownFileName);else printf(">> 更改文件名失败 - %d\r\n",W_Dresult);if(W_Dresult == FR_EXIST){printf(">> 文件已存在,删除旧文件\r\n");W_Dresult = f_unlink(DownFileName);  //删除旧文件if(W_Dresult == FR_OK) {W_Dresult = f_rename(recfilename,DownFileName);  //更改临时的文件名if(W_Dresult == FR_OK) printf(">> 再次更改文件名成功 - %s\r\n",DownFileName);else printf(">> 再次更改文件名失败 - %d\r\n",W_Dresult);}else printf(">> 再次更改文件名失败 - %d\r\n",W_Dresult);}return;
}

 

这篇关于FatFs检测并建立多层目录并更改文件名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768038

相关文章

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

python获取当前文件和目录路径的方法详解

《python获取当前文件和目录路径的方法详解》:本文主要介绍Python中获取当前文件路径和目录的方法,包括使用__file__关键字、os.path.abspath、os.path.realp... 目录1、获取当前文件路径2、获取当前文件所在目录3、os.path.abspath和os.path.re

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景