getFileList関数

本ページには広告が含まれています。

サブフォルダを含めたファイル一覧を配列で返します。第二引数以降は処理をする際に必要なだけの引数のため指定する必要はありません。

構文
  1. Array = getFileList( folderspec, TextStream, filename, bool )
引数
folderspec 必須
フォルダのパス
TextStream 省略可
TextStreamオブジェクト
filename 省略可
一時ファイル名
bool 省略可
再帰呼び出しの深さが最上部かを表すブール値
戻り値

プログラム

UWSC

解説

    2行目
    UWSC
    3,10行目
    UWSC
    TextStreamがNothingなら4行目>>>
    4-8行目
    UWSC
    TempフォルダのFolderオブジェクトをTempFolder、パスをTempFolderspecに代入します。ランダムに生成した一時ファイル名をname、フォルダ名と繋げたフルパスをfilenameに代入します。
    9行目
    UWSC
    filenameで指定したパスでTextStreamオブジェクトを生成し、TextStreamに代入します。このテキストファイルにリストアップしたファイル名を一時的に格納します。
    11行目
    UWSC
    folderspecのFolderオブジェクトを生成しFolderに代入します。
    12行目
    UWSC
    指定したフォルダに含まれるすべてのフォルダから構成されるFoldersコレクションを取得しFoldersに代入します。
    13,18行目
    UWSC
    Foldersコレクションに含まれるすべてのFolderオブジェクトにアクセスします。
    14行目
    UWSC
    現在のフォルダから下層のフォルダを取得するため再帰呼び出しする。
    15-17行目
    UWSC
    Folderオブジェクトに含まれるファイルの一覧を取得し、テキストファイルに書き込みます。
    19-26行目
    UWSC
    再帰呼び出しの最上部ならば20行目>>>14行目>>>で再帰呼び出しする際第四引数のboolにFalseを指定しているので、このIF文でTrueと判定された場合は最上部ということになり、すべてのサブフォルダ・ファイルにアクセスしたことになります。
    20行目
    UWSC
    テキストファイルを一旦閉じ、内容を保存します。
    21-23行目
    UWSC
    再度テキストファイルを開き、内容をstrに代入します。
    24行目
    UWSC
    filenameのテキストファイルを削除します。
    25行目
    UWSC
    strの内容を改行文字で区切り配列にし返します。一行毎にフォルダ名・ファイル名が記述されているので、配列の各要素にフォルダ名・ファイル名が格納されていることになります。

プログラム実行例

全ファイルをサブフォルダから直下に取り出す

D:\Pictures\100ANDRO\より下層フォルダにあるファイルを直下に移動させます。ファイル名が重複する場合は - コピー - コピー (2)のような連番をつけて変更されます。

空になったフォルダを削除するにはdeleteEmptyFoldersを使います。

UWSC
使用関数

関連記事

Shell.Explore メソッド
指定したディレクトリをエクスプローラで開きます。
Folder オブジェクト
フォルダのすべてのプロパティにアクセスできます。
CreateFolders関数 (自作関数)
FSO.CreateFolderの改良版。親フォルダが存在しなくてもフォルダを作成できます。
Folder.CopyHere メソッド (Shell)
1つまたは複数のアイテムをフォルダにコピーします。
Folder.MoveHere メソッド (Shell)
1つまたは複数のアイテムをこのフォルダに移動します。
FileSystemObject オブジェクト
DELETEFILE関数 (スクリプト関数)
テキストファイルを削除します。
FCLOSE関数 (スクリプト関数)
テキストファイルを閉じます。
FGET関数 (スクリプト関数)
テキストファイルの読み込みを行います。
GETDIR関数 (スクリプト関数)
ファイル名を取得します。