フォルダ内のファイル一覧を取得する方法を考えてみます。
ファイル一覧を取得したいフォルダに、下記のようなスクリプトを作成して実行します。
この例では、「filelist.txt」というファイルに上書きモードでファイル一覧を出力します。
エンコーディングは ASCII です。
CreateTextFile メソッド(Folder オブジェクトでも使えます。)
fileSystemObject.CreateTextFile( filename [, overwrite [, unicode ]])
| 引数 | 説明 |
| filename | 作成するファイルのパス |
overwrite (省略可能) | True → 上書きする |
| False → 上書きしない(規定値) |
unicode (省略可能) | True → Unicode
|
| False → ASCII(規定値) |
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set CurFolder = fso.GetFolder(".")
Set outFileStream = fso.CreateTextFile(CurFolder.Path & "\filelist.txt", True)
For Each file In CurFolder.Files
outFileStream.WriteLine file.Name
Next
outFileStream.Close()
Set outFileStream = Nothing
Set CurFolder = Nothing
Set fso = Nothing
ついでに、OpenTextFile メソッドについても記述しておきます。
OpenTextFile メソッド
fileSystemObject.OpenTextFile( filename [, ioMode [, createNew [, format ]]])
| 引数 | 説明 |
| filename | 開くファイルのパス |
ioMode (省略可能) |
1 → ForReading (読み取り専用) |
| 2 → ForWriting (書き込み) |
| 8 → ForAppending (追加書き込み) |
createNew (省略可能) |
True → ファイルが存在しない場合新規作成する |
| False → 新規作成しない(規定値) |
format (省略可能) |
TristateTrue → Unicode ファイルとして開く |
| TristateFalse → Ascii ファイルとして開く(規定値) |
| TristateUseDefault → システム設定に従う |