getSubFolders

指定したフォルダ以下にあるすべてのサブフォルダのパスを取得する。

構文
getSubFolders( var array[], folderspec )
引数
var array
folderspec
戻値

プログラム

//////////////////////////////////////////////////
// 【引数】
//   var array 
//   folderspec 
// 【戻値】
// 
//////////////////////////////////////////////////
PROCEDURE getSubFolders(var array[], folderspec)
	DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
	DIM Folder = FSO.GetFolder(folderspec)
	DIM Folders = Folder.SubFolders			
	FOR Folder IN Folders
		arrayPush(array, Folder.Path)
		getSubFolders(array, Folder.Path)
	NEXT
FEND

//////////////////////////////////////////////////
// 【引数】
//   array : 要素を追加する配列(参照引数) 
//   str : 追加する要素 
// 【戻値】
//   処理後の配列の中の要素の数 
//////////////////////////////////////////////////
FUNCTION arrayPush(var arr[], str)
	DIM res = RESIZE(arr, UBound(arr) + 1)
	arr[res] = str
	RESULT = res + 1
FEND

//////////////////////////////////////////////////
// 【引数】
//   配列 : 上限値を求める配列 
// 【戻値】
//   配列の上限値 
//////////////////////////////////////////////////
FUNCTION UBound(array[])
	RESULT = RESIZE(array)
FEND