matlab 生成文件夹,matlab实现遍历文件夹并自动创建对应的新文件夹方法

能自动将文件夹中所有文件自动的识别并创建对应的文件夹,文件夹名要和文件中某个字段相同。

用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;

全部遍历完就可以了。

699ba7046c51816a17b33a7caa85f179.png

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值