创建文本文件包含文件名的列表

97(30天)
C G
C G 2018年4月14日
评论道: C G2018年4月30日
我相信这是回答之前,但是我变得十分沮丧试图找到正确的代码。
我有超过400个文件的目录。我想创建一个列出所有的文本文件的文件名。然后把这个文本文件与原始文件的目录,而不是matlab工作目录。我要做超过100次的100个不同的目录。
唯一的工作部分的代码是这样的:
目录名=“D: \荷兰tdump文件\时代- 10 m \ 4月10米的;% #文件夹路径
文件= dir (fullfile(目录名,“*”。));% #列出所有*。xyz文件
文件= {files.name} ';%’#文件名
我已经创建了一个细胞和所有我的文件名,但是现在我不能创建文本文件。我得到非常模棱两可的错误消息,就说有一个错误我的一行代码。不是有益的。所以。的问题。如何创建一个文本文件单元阵列?
8的评论
C G
C G 2018年4月30日
这是所有需要知道如何创建大量的文件,然后移动到一定位置。这段代码作品的魅力。我创建了一个excel文件的目录路径,“FileDirectory”。然后我进口作为字符串列表。
q = 1:144%这个数字与filepaths细胞的数量。在FileDirectory.xls路径名。
filedirectory = filedirectory {q, 1};
目录名= filedirectory;%’D: \ ABN_tdump_files \ 10 _day_traj \ ERA-I_2500m \ April2500m \ ';% #文件夹路径
文件= dir (fullfile(目录名,“fdump *”));% #列出所有*。xyz文件
文件= {files.name};%’#文件名
(fid,味精)= fopen (sprintf (“INFILE”),“wt”);
断言(fid > = 0,味精)
流(fid检测器,“% s \ n”、文件{:});
文件关闭(fid);
移动文件(“C: \ \ cglor \ \ HYSPLIT \ INFILE文档的用户,目录名)
结束

登录置评。

接受的答案

Stephen23
Stephen23 2018年4月14日
编辑:Stephen23 2018年4月14日
简单:
D =“D: \荷兰tdump文件\时代- 10 m \ 4月10米的;
S = dir (fullfile (D,‘* .xyz‘));%指定文件扩展名来排除目录
(fid,味精)= fopen (fullfile (D,“text.txt”));
断言(fid > = 3,味精)
流(fid检测器,“% s \ n”S.name)
文件关闭(fid);
重复为每个目录 D

答案(1)

艾哈迈德Cecen
艾哈迈德Cecen 2018年4月14日
编辑:艾哈迈德Cecen 2018年4月14日
差不多了。添加这些线底部和它应该工作:
文件(1:2)= [];%去掉。和. .
文件标识= fopen (fullfile(目录名,“list.txt”),' w ');%创建和打开的文件
cellfun (@ (x)流(文件标识,“% s \ n”,x),文件)%写文件
4评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年4月14日
我一直无法找到任何特定的目录为NTFS文件承诺。在实践中一直是按顺序Unicode当我测试。(虽然我没有检查如果是utf8 utf16-le或别的东西)。
并不少见这些天对文件系统目录的第一块发生更改时,块,但文件系统的差异在于他们把所有块的一个目录分类,因为这样做会导致不必要的磁盘i / o。文件系统也不同是否按字母顺序进行排序(允许二进制搜索名称)或者排序最常用的条目。

登录置评。

类别

找到更多的在文件操作帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!