能自动将文件夹中所有文件自动的识别并创建对应的文件夹,文件夹名要和文件中某个字段相同。
用system()函数。如下
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 {'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;
全部遍历完就可以了。
0