Directory データタイプは、システムディレクトリーの管理を可能にします。このデータタイプを使用すると、システムディレクトリーやファイルにわたって処理を実行するアプリケーションを簡単に開発できます。
このデータタイプは、ディレクトリーの作成、コピー、移動、名前の変更、削除といった標準的な操作に使用します。また、ディレクトリーの項目属性 (修正日、時間、サイズなど) を取得する場合にも使用できます。
Source |
指定したパスのディレクトリーを選択します。 |
ErrCode |
最後の操作の結果を返します。次のいずれかの値が戻されます: 0: 操作が正常に終了した場合 1: ディレクトリーインスタンスが無効の場合 ( [ Source ] プロパティが設定されていなかった場合) 2: ディレクトリーが存在しない場合 3: ディレクトリーが既に存在する場合 4: ディレクトリーが空でない場合 100: セキュリティエラー -1: 未定義のエラー |
ErrDescription |
最後の操作の結果に関する説明を返します。 |
ApplicationDataPath |
アプリケーションに関連するファイルが保存されているディレクトリー。 |
TemporaryFilesPath |
アプリケーションの一時ファイルが保存されているディレクトリーです。 C# - Path.GetTempPath() メソッドを使用して実装されます。 Java - System.getProperty("java.io.tmpdir") の戻り値を返します。 |
ExternalFilesPath |
外部ストレージデバイス (存在する場合) のパス。存在しない場合、このプロパティは、 [ ApplicationDataPath ] プロパティの値になります。 |
CacheFilesPath |
アプリケーションのキャッシュファイルが保存されているディレクトリーです。 |
このデータタイプの静的プロパティについては、「[ Directory Data Type Static ] プロパティ」を参照してください。
注: CacheFilesPath は GeneXus 16 Upgrade 4 以降の iOS ジェネレーターで使用できます。
CacheFilesPath は GeneXus 16 Upgrade 9 以降の Android ジェネレーターで使用できます。
指定したソースに新しいディレクトリーを作成します。
ディレクトリー名 (文字)
&directory.Source="c:\temp"
&directory.create()
ソースディレクトリーを削除します。
&directory.delete()
ソース内で指定したファイルが存在するかどうか確認します。
Boolean
If &directory.exists()
Msg("The directory exists!")Else
Msg("The directory does not exist!")EndIf
ソースディレクトリーの名前を返します。
Character
&directory.Source = "c:\temp"
Msg(&directory.GetName()) // 画面表示: temp
ソースディレクトリーの絶対名を返します。
Character
&directory.Source="c:\temp"
Msg(&directory.GetAbsoluteName()) // 画面表示: c:\temp
ソースディレクトリーの名前を変更します。現在のパスを変更してディレクトリーを移動することもできます。
ディレクトリーの新しい名前 (文字) です。
&directory.Rename("d:\temp2")
ソースディレクトリー内のファイルの名前を返します。拡張子のワイルドカードや終了パターンを使用してフィルタを指定できます。
フィルタ (文字)
for &auxFile in &directory.GetFiles('*.txt')
// do something with .txt auxFile
endfor
ここで、&auxFile は File 変数として定義されます。
ソースディレクトリー内のすべてのディレクトリーの名前を返します。
for &auxDir in &directory.GetDirectories()
// auxDir に対する何らかの処理
endfor
ここで、&auxDir は Directory 変数として定義されます。
Directory データタイプは、既定でローカル ファイル システムにあるディレクトリーを処理します。ただし、Storage Provider API のメソッドによって返されたときは、外部ストレージにあるディレクトリーを参照します。
Storage Provider API を使用して作成された「mytest」という名前のバケットと「petsFolder」という名前のフォルダがあり、StorageAPI.GetDirectory() を使用するとします。各メソッドの出力の一覧を次に示します:
メソッド |
戻り値 |
GetName |
petsFolder |
GetAbsoluteName |
mytest:\petsFolder\ |
関連するサンプルコードについては、「Storage Provider API」を参照してください。
Mapped Drives および Network Drives は Web 環境ではサポートされていません。
プロパティまたはメソッドを使用してファイルのパスを割り当てる場合は、パスのトラバースや改ざんによる脆弱性リスクを避けるため、ユーザーの入力 (エントリー) を連結したりサニタイズしたりしないでください。
|