Scripting.FileSystemObjectのプロパティ「Files」
Scripting.FileSystemObjectのプロパティにFilesというのがあるが
これは単に、メソッドのGetFolderに付けてCountを付けてファイルの数を知るため位にしか使えないと思っていた。
File(0)など思いつく限り試したが、エラーになるので配列ではないと思い
「数を知るためだけか?そんなもんいらん!」
しかし、とあるサイトで説明されているのを偶然見つけてようやく理解できた。
どうやらコレクションというものらしい。
set objdir = createobject("scripting.filesystemobject").getfolder("C:\aaa").files 'ちなみに、フォルダの場合は、Filesの替わりにSubFolders for each filename in objdir wscript.echo filename.name' ファイルの名前 wscript.echo filename.type' ファイルの種類 next
for each〜next文なるものもがあったのを忘れていた。
「なるほど、こういう時に使うのか。」
いまいち使い方がわからず、見向きもしなかったが。
しかし、向いたところで使いこなせる訳でもない。
UWSCのGetOleItemに似ている。
これでワイルドカードを使ってファイルを検索できれば素晴らしいのだが。
UWSCの場合
getdir("c:\aaa", "a*.txt")
で、ワイルドカードが使え、頭にaの付くtxtファイルの数を返してくれる。
しかも配列として収納し、Getdir_Files[0]で1個目のファイル名を返す。
やはりUWSCの方が使いやすく、優秀であると改めて思った。
VBscriptだと手間が掛かる上に解り辛い。
まあ、ゆっくり覚えていこう。(脳みそがついていけないだけ)