【UWSC】フォルダにあるファイルのパスをすべて取得する

UWSCでファイル名を取得するには、「GETDIR」を用いる。

フォルダにあるすべてのファイルパスを取得するサンプルコード/////////////////////////////////////////////////////
//取得した情報の保存先とファイル名
//保存先を実行ファイルと違うフォルダにする場合は、フルパス
fid = FOPEN("info.txt",F_WRITE) //前の情報は消去して書き込む

PATH = INPUT("取得するフォルダを入力して下さい","C:\")

NUM = GETDIR(PATH) //ファイルの数だけならNUM

//配列を展開
FOR A = 0 TO LENGTH(GETDIR_FILES) - 1

fileName = GETDIR_FILES[A] //ファイル名

FPUT(fid,PATH + "\" + fileName) //ファイルの書き込み

NEXT

FCLOSE(fid)

/////////////////////////////////////////////////////

サブフォルダの情報も取得したいときは、コマンドプロンプトのdirコマンドを使うといい。

//カレントディレクトリの情報を出力
/////////////////////////////////////////////////////
CMDSTR = "dir /b /a-d /s > C:¥Users¥info.txt"

DOSCMD(CMDSTR,FALSE,TRUE)
/////////////////////////////////////////////////////

//C:¥Windowsの情報を出力
/////////////////////////////////////////////////////
CMDSTR = "dir C:¥Windows /b /a-d /s > C:¥Users¥info.txt"

DOSCMD(CMDSTR,FALSE,TRUE)
/////////////////////////////////////////////////////

オプションの説明

/b → ファイル名またはディレクトリ名のみ表示。最終更新日などの情報はなし。
/a-d → ディレクトリ以外のみ表示。
/s → サブディレクトリに含まれるファイルやディレクトリも全て表示。