指定したディレクトリのファイル一覧を取得します。
- 構文
- Integer = GETDIR( ディレクトリ, ファイル指定, 不可視ファイルフラグ, 取得順番 )
- 引数
- ディレクトリ (String)必須
- ファイル名の取得のディレクトリ
- ファイル指定 (String = "")省略可
- ワイルドカード(*, ?)によるファイル名指定
\を指定するとディレクトリ名の取得 - 不可視ファイルフラグ (Boolean = False)省略可
- TRUE
- 不可視ファイルも含める
- FALSE
- 含めない(デフォルト)
- 取得順番 (Integer = 0)省略可
- ファイル並び
- 0
- ファイル名(デフォルト)
- 1
- サイズ
- 2
- 作成日
- 3
- 更新日
- 4
- アクセス日
- 戻り値
取得した数を返す (For In 構文にて指定された場合は各要素を返す)
取得した情報は配列変数のGETDIR_FILES[ ] に格納される (配列はゼロから)
引数
取得順番
ファイル並びは自然順(昇順)で取得されます。ファイル名は五十音順、サイズは小さい順、日時は古い順となります。
配列変数
配列変数に格納された要素の出力方法を色々書いておきます。
配列変数に格納された要素は自然順(昇順)で並んでいます。
LENGTH関数 (スクリプト関数)で要素数を取得し、0〜(要素数-1)まで<ruby>FOR-TO文<rt></rt></ruby>で回す。昇順です。
RESIZE関数で配列の上限値を取得し、<ruby>FOR-TO文<rt></rt></ruby>で先頭から昇順で出力します。
RESIZE関数で要素数を取得し、<ruby>FOR-TO文<rt></rt></ruby>で後ろから回すことで、降順で出力します。
<ruby>FOR-IN文<rt></rt></ruby>で要素を昇順で出力します。
GETDIR関数 (自作関数)で配列変数の中身を降順にする方法もあります。
ファイル指定
ワイルドカードを使うことによりファイルを絞ることができます。
| 文字 | 意味 |
|---|---|
| * | 0文字以上の任意の文字列 |
| ? | 任意の1文字 |
Excel(*.xls、*.xlsx、*.xlsm)の場合は「*.xls*」と指定します。
あまり正確に機能してなさそうなので、ファイルを削除するときとかは一度ファイル名を出力して確認した方が良いです。
取得順番
ファイル名 昇順
ファイル名 降順
サイズ 昇順
サイズ 降順
作成日時 昇順
作成日時 降順
更新日時 昇順
更新日時 降順
アクセス日時 昇順
アクセス日時 降順
複数の条件指定
GETDIRを繰り返し実行し、配列に結合していきます。以下は拡張子が".txt"か".js"のファイル一覧を昇順で取得します。
使い方
デスクトップにある作成日が一番古いファイルを取得します。
デスクトップにある作成日が一番新しいファイルを取得します。
プログラム実行例
指定フォルダのJPEGファイル名を出力
D:\Pictures\にあるファイル名が.jpgで終わる(JPEG画像)のファイル名を出力します。
指定フォルダにあるディレクトリを出力
D:\Desktop\にあるディレクトリ名を出力します。
不可視ファイルの数を取得する
デスクトップにあるフォルダ一覧を取得
デスクトップのファイル名一覧を取得・出力する
関連記事
- File.Type プロパティ (FSO)
- 指定したファイルの種類を返します。
- DELETEFILE関数 (スクリプト関数)
- テキストファイルを削除します。
- FCLOSE関数 (スクリプト関数)
- テキストファイルを閉じます。
- FDELLINE関数 (スクリプト関数)
- テキストファイルの指定行を削除します。
- FGET関数 (スクリプト関数)
- テキストファイルの読み込みを行います。
- FOPEN関数 (スクリプト関数)
- テキストファイルを開き、ファイルIDを取得します。
- FPUT関数 (スクリプト関数)
- テキストファイルの書き込みを行います。
- Folder.CopyHere メソッド (Shell)
- 1つまたは複数のアイテムをフォルダにコピーします。
- Folder.MoveHere メソッド (Shell)
- 1つまたは複数のアイテムをこのフォルダに移動します。
- FileSystemObject オブジェクト
