[解決済み] MATLABで特定のディレクトリの下にあるすべてのファイルを取得する方法は?
2022-12-11 19:55:29
質問
の下にあるすべてのファイルを取得する必要があります。
D:\dic
の下にあるすべてのファイルを取得し、さらに個別に処理するためにそれらをループする必要があります。
MATLABはこのような操作に対応しているのでしょうか?
PHPやPythonなど、他のスクリプトでも可能です。
どのように解決するのですか?
更新しました。
この投稿はかなり古く、その間に私自身の使用のためにこのユーティリティをたくさん修正したので、私は新しいバージョンを投稿すべきだと思いました。私の最新のコードは以下で見つけることができます。
MathWorks ファイル交換
:
dirPlus.m
. また、ソースは
GitHub
.
いくつかの改良をしました。フルパスを先頭に付けるか、ファイル名だけを返すかのオプションを提供するようになりました。 Doresoom と オズ・ラジアーノ から取り込んだ)ファイル名に正規表現パターンを適用します。 ピーター D ). さらに、各ファイルに検証機能を適用して、ファイル名以外の条件 (ファイル サイズ、コンテンツ、作成日など) に基づいて選択できるようにしました。
注意
MATLABの新しいバージョン(R2016b以降)では
dir
関数には再帰的な検索機能があります! ですから、このようにすれば、すべての
*.m
ファイルのリストを得ることができます。
dirData = dir('**/*.m');
古いコードです。(後世のために)
これは、与えられたディレクトリのすべてのサブディレクトリを再帰的に検索し、見つかったすべてのファイル名のリストを収集する関数です。
function fileList = getAllFiles(dirName)
dirData = dir(dirName); %# Get the data for the current directory
dirIndex = [dirData.isdir]; %# Find the index for directories
fileList = {dirData(~dirIndex).name}'; %'# Get a list of the files
if ~isempty(fileList)
fileList = cellfun(@(x) fullfile(dirName,x),... %# Prepend path to files
fileList,'UniformOutput',false);
end
subDirs = {dirData(dirIndex).name}; %# Get a list of the subdirectories
validIndex = ~ismember(subDirs,{'.','..'}); %# Find index of subdirectories
%# that are not '.' or '..'
for iDir = find(validIndex) %# Loop over valid subdirectories
nextDir = fullfile(dirName,subDirs{iDir}); %# Get the subdirectory path
fileList = [fileList; getAllFiles(nextDir)]; %# Recursively call getAllFiles
end
end
上記の関数をMATLABのパスのどこかに保存した後、以下の方法で呼び出すことができます。
fileList = getAllFiles('D:\dic');
関連
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Pythonでディレクトリが存在するかどうかを確認する方法
-
[解決済み] 現在のファイルのディレクトリのフルパスを取得するにはどうすればよいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
-
[解決済み】Pythonでディレクトリ内の拡張子.txtのファイルをすべて検索する
-
[解決済み] Matlab コマンドラインからm-fileを実行する
-
[解決済み] MATLABで行列の各行/列に関数を適用するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン