MATLAB对文件处理

% 设置路径
inputDir = 'G:\GIPL2\GIPL\input';
inDir = 'G:\GIPL2\GIPL\FILE\in';
dumpDir1 = 'G:\GIPL2\GIPL\FILE\dump';
resultDir = 'G:\GIPL2\GIPL\result';
exeDir = 'G:\GIPL2\GIPL\FILE';
exeFile = 'Console3.exe';% 清空 in 和 dump 文件夹
delete(fullfile(inDir, '*.*'));
delete(fullfile(dumpDir1, '*.*'));
fo
% 循环处理 1-7 文件夹
for i = 1:6disp(['正在处理文件夹 ', num2str(i), '...']);% 复制输入文件到 in 文件夹copyfile(fullfile(inputDir, num2str(i), '*.*'), inDir);% 切换到 EXE 文件所在目录cd(exeDir);% 调用 EXE,并记录开始时间disp(['正在运行 ', exeFile, '...']);startTime = tic;  % 开始计时status = system(exeFile);% 检查程序运行的时间elapsedTime = toc(startTime);disp(['Console3.exe 执行时间: ', num2str(elapsedTime), ' 秒']);% 轮询直到 dump 文件夹中有输出文件maxAttempts = 10;  % 最大尝试次数attempts = 0;while attempts < maxAttemptspause(1);  % 暂停 1 秒if ~isempty(dir(fullfile(dumpDir1, '*.*')))  % 检查是否有输出文件disp('输出已生成,保存到结果文件夹...');mkdir(fullfile(resultDir, num2str(i)));  % 创建结果文件夹copyfile(fullfile(dumpDir1, '*.*'), fullfile(resultDir, num2str(i), ''));  % 复制输出文件break;endattempts = attempts + 1;endif attempts == maxAttemptsdisp('警告: 没有生成输出,跳过文件夹');end% 清空 in 和 dump 文件夹delete(fullfile(inDir, '*.*'));delete(fullfile(dumpDir1, '*.*'));
enddisp('所有文件处理完成!');

这段 MATLAB 代码的主要功能是对一系列输入文件夹(1 - 6)进行处理,通过调用外部可执行文件 Console3.exe 对每个文件夹中的文件进行处理,并将处理后的输出文件保存到相应的结果文件夹中。具体步骤如下:

  1. 设置路径

    • 定义了多个路径变量,包括输入文件夹路径 inputDir、输入文件临时存放目录 inDir、输出文件临时存放目录 dumpDir1、结果文件夹路径 resultDir、可执行文件所在目录 exeDir 以及可执行文件名 exeFile
  2. 清空临时文件夹

    • 使用 delete 函数清空 inDirdumpDir1 文件夹中的所有文件。
  3. 循环处理输入文件夹

    • 使用 for 循环遍历 1 到 6 的文件夹。
    • 在每次循环中:
      • 显示当前正在处理的文件夹编号。
      • 将当前文件夹(inputDir 下的 i 文件夹)中的所有文件复制到 inDir 文件夹。
      • 切换到可执行文件所在的目录 exeDir
      • 调用可执行文件 Console3.exe,并记录开始时间。
      • 计算并显示 Console3.exe 的执行时间。
      • 轮询 dumpDir1 文件夹,直到其中有输出文件或达到最大尝试次数(10 次)。
        • 如果在 dumpDir1 文件夹中检测到输出文件,创建对应的结果文件夹(resultDir 下的 i 文件夹),并将 dumpDir1 中的所有文件复制到结果文件夹中。
        • 如果达到最大尝试次数仍未检测到输出文件,显示警告信息并跳过当前文件夹。
      • 清空 inDirdumpDir1 文件夹,为下一次循环做准备。
  4. 处理完成提示

    • 当所有文件夹处理完成后,显示“所有文件处理完成!”的提示信息。

总的来说,这段代码实现了自动化地对多个输入文件夹进行处理,并将处理结果保存到指定位置的功能,同时还对处理过程进行了时间记录和输出文件的轮询检测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/503838.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06-RabbitMQ基础

目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装 2.2.收发消息 2.2.1.交换机 2.2.2.队列 2.2.3.绑定关系 2.2.4.发送消息 2.3.数据隔离 2.3.1.用户管理 2.3.2.virtual host 3.SpringAMQP 3.1.导入Demo工程 3.2.快速入门 3.2.1.消…

阻抗(Impedance)、容抗(Capacitive Reactance)、感抗(Inductive Reactance)

阻抗&#xff08;Impedance&#xff09;、容抗&#xff08;Capacitive Reactance&#xff09;、感抗&#xff08;Inductive Reactance&#xff09; 都是交流电路中描述电流和电压之间关系的参数&#xff0c;但它们的含义、单位和作用不同。下面是它们的定义和区别&#xff1a; …

【网络协议】IPv4 地址分配 - 第二部分

前言 在第 1 部分中&#xff0c;我们学习了 IPv4 地址的分配方式&#xff0c;了解了各种类型的 IPv4 地址&#xff0c;并进行了基础的子网划分&#xff08;Subnetting&#xff09;。在第 2 部分中&#xff0c;我们将继续学习子网划分&#xff0c;并引入一些新的概念。 【网络…

Linux 正则表达式 ⑪

正则表达式 1.Linux grep 命令 Linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。 grep 指令用于查找内容包含指定的范本样式的文件&#xff0c;如果发现某文件的内容符合所指定的范本样式&#xff0c;预设 grep 指令会把含有范本样…

二、模型训练与优化(1):构建并训练模型

目录 1. 安装 Anaconda&#xff08;推荐&#xff09; 步骤&#xff1a; 2. 创建并激活虚拟环境 步骤&#xff1a; 3. 安装必要的库 步骤&#xff1a; 4. 编写训练脚本 步骤&#xff1a; 5. 运行训练脚本 步骤&#xff1a; 总结&#xff1a; 在完成了准备工作的基础上…

JavaEE初阶——计算机工作原理

一、什么是JavaEE JavaEE&#xff08;Java Platform&#xff0c;Enterprise Edition&#xff09;是sun公司&#xff08;2009年4月20日甲骨文将其收购&#xff09;推出的企业级应用程序版本。这个版本以前称为 J2EE。能够帮助我们开发和部署可移植、健壮、可伸缩且安全的服务器…

医学图像分析工具02:3D Slicer || 医学影像可视化与分析工具 支持第三方插件

3D Slicer 是一款功能全面的开源医学影像分析软件&#xff0c;广泛应用于影像处理、三维建模、影像配准和手术规划等领域。它支持多种医学影像格式&#xff08;如 DICOM、NIfTI&#xff09;和丰富的插件扩展&#xff0c;是神经科学、放射学和生物医学研究中不可或缺的工具。 在…

STM32裸机开发转FreeRTOS教程

目录 1. 简介2. RTOS设置&#xff08;1&#xff09;分配内存&#xff08;2&#xff09;查看任务剩余空间&#xff08;3&#xff09;使用osDelay 3. 队列的使用&#xff08;1&#xff09;创建队列&#xff08;1&#xff09;直接传值和指针传值&#xff08;2&#xff09;发送/接收…

使用高云小蜜蜂GW1N-2实现MIPI到LVDS(DVP)转换案例分享

作者&#xff1a;Hello&#xff0c;Panda 大家晚上好&#xff0c;熊猫君又来了。 今天要分享的是一个简单的MIPI到LVDS&#xff08;DVP&#xff09;接口转换的案例。目的就是要把低成本FPGA的应用潜力充分利用起来。 一、应用背景 这个案例的应用背景是&#xff1a;现在还在…

Express 加 sqlite3 写一个简单博客

例图&#xff1a; 搭建 命令&#xff1a; 前提已装好node.js 开始创建项目结构 npm init -y package.json:{"name": "ex01","version": "1.0.0","main": "index.js","scripts": {"test": &q…

git撤回提交、删除远端某版本、合并指定版本的更改

撤回提交 vscode的举例 一、只提交了还未推送的情况下 1.撤回最后一次提交&#xff0c;把最后一次提交的更改放到暂存区 git reset --soft HEAD~12.撤回最后一次提交&#xff0c;把最后一次提交的更改放到工作区 git reset --mixed HEAD~13.撤回最后一次提交&#xff0c;不…

[Linux]redis5.0.x升级至7.x完整操作流程

1. 从官网下载最新版redis&#xff1a; 官网地址&#xff1a;https://redis.io/download 注&#xff1a;下载需要的登录&#xff0c;如果选择使用github账号登录&#xff0c;那么需要提前在github账号中取消勾选“Keep my email addresses private”&#xff08;隐藏我的邮箱…

xss-labs关卡记录15-20关

十五关 随便传一个参数&#xff0c;然后右击查看源码发现&#xff0c;这里有一个陌生的东西&#xff0c;就是ng-include。这里就是&#xff1a; ng-include指令就是文件包涵的意思&#xff0c;用来包涵外部的html文件&#xff0c;如果包涵的内容是地址&#xff0c;需要加引号。…

数据库回滚:大祸临头时

原文地址 什么是数据库回滚&#xff1f; 数据库技术中&#xff0c;回滚是通过撤销对数据库所做的一项或多项更改&#xff0c;将数据库返回到先前状态的操作。它是维护数据完整性和从错误中恢复的重要机制。 什么时候需要数据库回滚&#xff1f; 数据库回滚在以下几个场景中很…

年会抽奖Html

在这里插入图片描述 <!-- <video id"backgroundMusic" src"file:///D:/background.mp3" loop autoplay></video> --> <divstyle"width: 290px; height: 580px; margin-left: 20px; margin-top: 20px; background: url(D:/nianhu…

基于FPGA的出租车里程时间计费器

基于FPGA的出租车里程时间计费器 功能描述一、系统框图二、verilog代码里程增加模块时间增加模块计算价格模块上板视频演示 总结 功能描述 &#xff08;1&#xff09;&#xff1b;里程计费功能&#xff1a;3公里以内起步价8元&#xff0c;超过3公里后每公里2元&#xff0c;其中…

nginx-链路追踪(trace)实现

一. 需求场景&#xff1a; 在日常运维工作中&#xff0c;会经常遇到在有多重调用链的场景下&#xff0c;如请求遇到非致命error时&#xff0c;在各环节的定位会非常麻烦&#xff0c;举个例子&#xff1a;比如说&#xff0c;在一个有多重调用链的服务环境下&#xff0c;一个请求…

c#使用SevenZipSharp实现压缩文件和目录

封装了一个类&#xff0c;方便使用SevenZipSharp&#xff0c;支持加入进度显示事件。 双重加密压缩工具范例&#xff1a; using SevenZip; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.…

MySQL和Hive中的行转列、列转行

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 文章目录 MySQL1.行转列2.列转行 Hive1.行转列2.列转行(1)侧窗(2)union MySQL 1.行转列 把多行转成列。直接group&#xff0c;sum(if()) 2.列转行 Hive 1.行转列 select name,sum(if(kmshuxu…

快速上手:采用Let‘sEncrypt免费SSL证书配置网站Https (示例环境:Centos7.9+Nginx+Let‘sEncrypt)

1 关于Let’s Encrypt与Cerbot DNS验证 Let’s Encrypt 是一个提供 免费证书 的 认证机构。 Cerbot 是 Let’s Encrypt 提供的一个工具&#xff0c;用于自动化生成、验证和续订证书。 DNS验证是 Cerbot 支持的验证方式之一。相比 HTTP 验证或 TLS-ALPN 验证&#xff0c;DNS …