ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

exist

変数、スクリプト、関数、フォルダー、またはクラスの存在をチェック

説明

exist name は、name のタイプを数値として返します。このリストは、各値に関連付けられたタイプを示します。

  • 0 — name が存在しないか、他の理由で見つかりません。たとえば、name が MATLAB® のアクセスできない制限付きフォルダーに存在する場合、exist は 0 を返します。

  • 1 — name はワークスペースの変数です。

  • 2 — name は拡張子が .m.mlx または .mlapp のファイルです。あるいは、name は未登録のファイル拡張子 (.mat.fig.txt) をもつファイルの名前です。

  • 3 — name は MATLAB 検索パス上の MEX ファイルです。

  • 4 — name は読み込まれた Simulink® モデル、あるいは MATLAB 検索パス上にある Simulink のモデルまたはライブラリ ファイルです。

  • 5 — name は組み込み MATLAB 関数です。これにクラスは含まれません。

  • 6— name は MATLAB 検索パス上の P コード ファイルです。

  • 7 — name はフォルダーです。

  • 8 — name は、クラスです (-nojvm オプションを使用して MATLAB を起動した場合、関数 exist は Java クラスを表す 0 を返します)。

MATLAB は、検索パスの最上位から検索を開始し、結果が見つかるか、パスの最終フォルダーに達するまで下に移動します。複数の name が 1 つのフォルダー内に存在する場合、MATLAB は関数の優先順位に従って、name の最初のインスタンスを表示します。フォルダーは、関数の優先順位規則の例外です。それらは、変数と組み込み関数を除くすべてのタイプより優先されます。

たとえば、name が拡張子 .m のファイルと P コード ファイルの両方に一致する場合、exist は P コード ファイルであることを示す 6 を返します。name が変数と P コード ファイルの両方に一致する場合、exist は変数であることを示す 1 を返します。name がフォルダーと MATLAB 関数の両方と一致する場合、exist はフォルダーであることを示す 7 を返します。

exist name searchType は、結果を指定されたタイプ searchType に制限して name のタイプを返します。タイプ searchTypename が存在しない場合、MATLAB は 0 を返します。

A = exist(___)name のタイプを A に返します。

すべて折りたたむ

testresults という名前の変数を作成し、ワークスペース内に存在することを確認します。

testresults = magic(5);
exist testresults
ans = 1

testresults という名前の変数がワークスペース内に存在します。

フォルダー myfolder を作成してから、フォルダーとして存在することをチェックします。

mkdir myfolder;
exist myfolder dir
ans = 7

タイプを file として指定すると、MATLAB® はファイルとフォルダーの両方を検索するため、同じ結果が返されます。

exist myfolder file
ans = 7

関数 plot が組み込み関数であるかファイルであるかを確認します。

A = exist('plot')
A = 5

これは、plot が組み込みの MATLAB 関数であることを示しています。

入力引数

すべて折りたたむ

変数、スクリプト、関数、フォルダーまたはクラスの名前。文字ベクトルまたは string スカラーとして指定します。

name は部分パスを含むことができますが、次のいずれかでなければなりません。

  • 検索パス上のフォルダー

  • 検索パス上のフォルダー内

  • 現在のフォルダー

  • 現在のフォルダー内

パス上にあるフォルダーのサブフォルダーは検索されません。

それ以外の場合、name には絶対パスを含めなければなりません。

name に未登録のファイル拡張子 (.mat.fig.txt) をもつファイルを指定する場合は、その拡張子を含めます。また、拡張子を含めて、その他の類似のファイル名との競合を防ぐこともできます。たとえば、exist file.txtexist("file.txt") などです。

メモ

MATLAB は、ファイルの内容や内部構造を確認せず、ファイル拡張子のみに基づいて分類します。

データ型: char | string

検索対象の結果のタイプ。次の値のいずれかとして指定します。

searchType説明取り得る戻り値

builtin

組み込み関数のみチェック

5、0

class

クラスのみのチェック

8、0

dir

フォルダーのみチェック

7、0

file

ファイルまたはフォルダーのみチェック

2、3、4、6、7、0

var

変数のみのチェック

1、0

代替機能

  • ファイルまたはフォルダーの有無をチェックするには、関数 isfolder または関数 isfile も使用できます。exist は検索パス上のファイルおよびフォルダーを検索するため、予期しない結果の生じることがあります。isfolder および isfile は指定されたパスまたは現在のフォルダー上のみで、ファイルまたはフォルダーを検索するので、短時間でわかりやすい結果が得られます。

R2006a より前に導入