首页 > 其他分享 >DIY(02)——根据现有名单从原始文件中复制名单文件进入新的文件夹

DIY(02)——根据现有名单从原始文件中复制名单文件进入新的文件夹

时间:2022-10-06 16:26:56浏览次数:57  
标签:02 文件 end 名单 cell2part sprintf PATH BrianNumCell Name3

涉及到内容:

1.获取文件名称,并根据名称与名单进行比对

2.拷贝文件

 

 

% filename is deliverdata
clc;clear all;close all;

%读取文件名
fileFolder=fullfile('D:\z');
dirOutput=dir(fullfile(fileFolder,'*.nii'));
fileNames={dirOutput.name}';
tmp1=size(fileNames);
lenth=tmp1(1,1);
%读取被试编号
textNum=textread('613Big497.txt','%s');%n*1

%切割名字
BrianNumCell={};
for n=1:lenth
    tmpName=fileNames{n,1};
    cell2part=strsplit(tmpName,{'_SUB','_'});%1*5/6 cell 数字在1.2
    m=size(cell2part);
    lenth2=m(1,2);%number
    nameNum=cell2part(1,2);%1*1cell
    log=ismember(nameNum,textNum);
    pice1='_SUB';
    pice2='_';
    if log==1
        a=cell2part{1,1};
        Name1=sprintf('%s%s',a,pice1);
        b=cell2part{1,2};
        nameText=cell2part{1,2};
        Name2=sprintf('%s%s',Name1,nameText);
        Name3=Name2;
        for s=3:lenth2
            tmpc=cell2part{1,s};
            cPlus=sprintf('%s%s',pice2,tmpc);
            Name3=sprintf('%s%s',Name3,cPlus);%得到完整的文件名
        end
        BrianNumCell{n,1}=Name3;%得到名单
    else
    end
   BrianNumCell(~any(cellfun(@nnz,BrianNumCell),2),:)=[];
end

%复制文件
SOURCE_PATH_t = 'D:\z\';%源文件目录  
DST_PATH_t = 'D:\Gene-Guts-Behavioral-Brain Research Project to Chinese Personality\Data Analysis\6.13-VMHC-497\';%目的文件目录  
total=size(BrianNumCell);
lenth3=total(1,1);
for g=1:lenth3
dataname=BrianNumCell{g,1};   
datasorce=[SOURCE_PATH_t,dataname];
copyfile(datasorce,DST_PATH_t);
end 

 

标签:02,文件,end,名单,cell2part,sprintf,PATH,BrianNumCell,Name3
From: https://www.cnblogs.com/MJnotes/p/16757808.html

相关文章

  • go sftp上传文件
    gosftp上传文件步骤使用"golang.org/x/crypto/ssh"连接到Linux环境使用"github.com/pkg/sftp"创建sftp客户端然后传输文件packagemainimport("fmt""gith......
  • 备战2021:vue3+ts开发指南
    Vue3+Typescript开发指南为什么要使用Ts应不应该使用TS开发Vue3是当前的热门话题,大家主要纠结成本和收益之间的取舍。什么是TypeScript官网:构建于JavaScript,增加了静态类......
  • 备战2021:vite2项目最佳实践
    备战2021:Vite2项目最佳实践作者同款机械键盘vite2来了​​Vite1​​​还没用上,​​Vite2​​​已经更新了,全新插件架构,丝滑的开发体验,和​​Vue3​​的完美结合。2021年第一......
  • 备战2021:Vite2插件开发指南
    Vite插件是什么使用Vite插件可以扩展Vite能力,比如解析用户自定义的文件输入,在打包代码前转译代码,或者查找第三方模块。image-20210216214524914Vite插件的形式​​Vite​​......
  • 2022.10.6java分支结构
    HelloWorld打开idea,新建java文件,新建javaclass编写代码psvm自动生成publicstaticvoidmain(Stringsargs{}sout自动生成System.out.printlnpublicclass......
  • JZOJ 7685. 【2022.10.06冲剌NOIP2022模拟】奇怪的函数(function)
    \(\text{Solution}\)观察到关于\(x\)的函数在\(n\)个操作之后一定是这样的:一段水平直线加上一段斜率为\(1\)的直线再加上一段水平直线于是线段树维护这个分段函数......
  • django找不到template文件的解决办法
    照着视频抄写第一个django展示html的页面如下图所示,然后运行之后提示template不存在的问题,这个坑怎么填啊?原来是因为主应用的settings文件下边少配置了一个东西,如下图所......
  • 2022牛客OI赛前集训营-提高组(第一场) 奇怪的函数 根号很好用
    奇怪的函数考虑暴力,每次查询\(O(n)\)扫所有操作,修改\(O(1)\)这启发我们平衡复杂度,考虑分块。观察题目性质,可以发现,经过若干次操作后得到的结果一定是一个关于\(x\)的分......
  • 2022牛客OI赛前集训营-提高组(第一场)
    教练给我们打的离线(数据分治忘删,多solve一次,明明复杂度O(n^3)偏偏不想压空间敬重桥廊不挂的话,70+100+50+50,挂了是70+100+0+0/cy懒得写题解。。。......
  • 2022数模A题——移动场景超分辨定位
    2022数模A题——移动场景超分辨定位该题主要是对FMCW雷达的信号进行处理,主要用到了矩阵处理的一些知识思路:需要用到多天线理论,测角算法,压缩感知,FFT,数据关联等等处理。......