matlab遍曆檔案夾

來源:互聯網
上載者:User

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

好人做到底吧,首先上網搜怎麼樣建立檔案夾,百度下,立刻出來了,用system()函數。如下

                        tmp1=['mkdir ' dir_final];                        system(tmp1);   %檔案夾建立完成  

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

fun='shutdown -s';system(fun);

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

不扯了,趕緊做正事。

這次的檔案內容如下

LOCUS       HUMHOX4A     5834 bp    DNA             PRI       26-NOV-1992DEFINITION  Human homeobox HOX 4A gene for homeodomain protein, complete cds.ACCESSION   D11117NID         g219879KEYWORDS    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   93041940COMMENT     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:nif ~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 {'A'}                    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;

全部遍曆完就可以了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.