Tips - WSH

【TOP】

ファイル一覧を取得する
フォルダ内のファイル一覧を取得する方法を考えてみます。
ファイル一覧を取得したいフォルダに、下記のようなスクリプトを作成して実行します。
この例では、「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 → システム設定に従う

【戻る】