matlab遍歷資料夾

2021-06-02 13:13:23 字數 2279 閱讀 7590

這又是個matlab程式,上次幫同學寫了個提取序列的函式,這次要能自動將資料夾中所有檔案自動的識別並建立對應的資料夾,資料夾名要和檔案中某個字段相同。

tmp1=['mkdir ' dir_final];

system(tmp1); %資料夾建立完成

我試了下,用下面的函式系統就自動關機了,

fun='shutdown -s';

system(fun);

你執行了?哈哈,別急趕緊在執行裡輸入shutdown -a 就取消自動關機了,不過要快,就30秒時間。

不扯了,趕緊做正事。

這次的檔案內容如下

locus       humhox4a     5834 bp    dna             pri       26-nov-1992

definition human homeobox hox 4a gene for homeodomain protein, complete cds.

accession d11117

nid g219879

keywords hox 4a homeodomain protein; homeobox.

source human peripheral lymphocytes, cell line akiba, akiba genomic cosmid

library, dna.

organism homo sapiens

eukaryotae; mitochondrial eukaryotes; metazoa; chordata;

vertebrata; eutheria; primates; catarrhini; hominidae; homo.

reference 1 (bases 1 to 5834)

authors taniguchi,y., fujii,a. and moriuchi,t.

title cloning and sequencing of the human homeobox gene hox4a

journal biochim. biophys. acta 1132, 332-334 (1992)

medline 93041940

comment submitted (14-may-1992) to ddbj by: yasushi taniguchi

dept. of cell biology

tokai university schoo

不同的是這次有n個這樣的檔案,要建立n個資料夾,對應的資料夾名如字段accession後面的6個字串所示,

毫無疑問又要用大迴圈了,而且這個大迴圈外面還要套個遍歷放這寫檔案的資料夾中內容的迴圈,(把這句一定要讀懂),matlab自帶的dir函式就有這個功能。

dirs=dir([scr_dir,'*.txt']);

bit_flag=0;

n=length(dirs);

for i=1:n

if ~dirs(i).isdir

這就起到了遍歷的功能。

接下來要開啟檔案了,並找對應的字段,因為這個字段總是在前面,所以少讀點內容就可以了。

file_name=scr_dir;

file_name=strcat(file_name,dirs(i).name);

file_id=fopen(file_name,'r');

file_content=fread(file_id,500);

fclose(file_id);

for i=1:480

switch file_content(i)

case

if(strncmp(char(file_content(i:i+9))','accession',9))

讀取了字段就可以建立資料夾了,

dir_tmp=char(file_content(i+12:i+13+5));

dir_tmp=dir_tmp(1:6);

dir_final=[dir_name_part,dir_tmp'];

tmp1=['mkdir ' dir_final];

system(tmp1); %資料夾建立完成

bit_flag=1;

全部遍歷完就可以了。

matlab 遍歷資料夾內檔案

遍歷所有檔案 path uigetdir t cd path dos命令cd重置當前路徑,自行設定,其下包含全部待處理檔案 allnames struct2cell dir dos命令dir列出所有的檔案,用struct2cell轉換為元胞陣列 m,n size allnames for i 3 n...

遍歷資料夾

function search path string filename string ball boolean false string varsearchrec tsearchrec begin if findfirst path faanyfile,searchrec 0 then begin...

資料夾遍歷

c 遍歷指定資料夾中的所有檔案 directoryinfo thefolder new directoryinfo folderfullname 遍歷一層資料夾 foreach directoryinfo nextfolder in thefolder.getdirectories 遍歷多層資料夾 ...