Matlabってなぁに?
数学や科学の研究者に人気がある(らしい)。
これわかんないなーってググっても全然引っかからなくて泣きたくなる言語/開発環境。
私はファイルごとに処理をしたかった
「ディレクトリのファイルパス渡すから、中に入ってるファイル全てにこの処理やってね」っていうあぁそれどこにもよくあるよねってことをやりたかった。
とりあえず手始めに100ファイル入ってるフォルダの中身をとってこよう。
main.m
>> listing = dir('C:¥target_directory¥100_files_inside¥');
listing =
フィールドをもつ 102×1 の struct 配列
name
folder
date
bytes
isdir
datenum
100ファイルなのに102…?
cmdでも似たようなことが起こりますね。
余計な2はカレントディレクトリ( . )と親ディレクトリ( .. )でした。
ファイルだけ取り出すには「ディレクトリじゃない」を使おう
さてさて答え合わせ。
上記のstruct配列にある「isdir」、これはディレクトリならtrue、ファイルならfalseを返すので、これを使っていきましょう。
main.m
>> listing = dir('C:¥target_directory¥100_files_inside¥');
(中略)
>> listing = listing(~[listing.isdir]);
listing =
フィールドをもつ 100×1 の struct 配列
name
folder
date
bytes
isdir
datenum
これでisdirがfalse(~)の要素のみ取り出せましたね、めでたしめでたし。
あとは煮るなり焼くなりclearするなりお好きにどうぞ。