特定のディレクトリのファイル名リストを取得するには、Files In Directory関数を使います。
Files In Directory( path, <recursive( 0 | 1 )> );
次の例のように、ファイル名とサブディレクトリ名の両方が戻されます。
Files In Directory( "$SAMPLE_DATA" );
{ "2D Gaussian Process Example.jmp", "Abrasion.jmp", ..."Design Experiment", "Detergent.jmp", ... }
この場合、Design Experimentなどのサブディレクトリ内のファイルは含まれず、$SAMPLE_DATAの直下にあるファイルしかリストされていません。
サブディレクトリ内のファイルも含む、すべてのファイル名のリストを戻すには、Files In Directoryにオプションの引数recursive(Boolean)を追加します。
Files In Directory( "$SAMPLE_DATA", recursive( 1 ) );
{ "2D Gaussian Process Example.jmp", "Abrasion.jmp", ..."Design Experiment/2x3x4 Factorial.jmp", "Design Experiment/Algorithm Data.jmp", ... }
ファイルのフルパス名を取得するには、ディレクトリ内を再帰的に参照し、ファイルパスとファイル名を連結します。次の例は、$SAMPLE_DATAディレクトリとサブディレクトリの中の各ファイルを繰り返し処理します。各ファイル名にファイルパスが連結されます。
names = Files In Directory( "$SAMPLE_DATA", recursive( 1 ) );
For( i = 1, i <= N Items( names ), i++,
names[i] = Convert File Path( "$SAMPLE_DATA" ) || names[i]
);
names;
{"/C:/Program Files/SAS/JMP/17/Samples/Data/2D Gaussian Process Example.jmp",
"/C:/Program Files/SAS/JMP/17/Samples/Data/Abrasion.jmp", ... }
Files in Directoryコマンドでは、ネイティブ形式のパス、POSIXパス、およびパス変数を使用できます。パスの使用方法については、パス変数を参照してください。