メイン画像

VBScript - フォルダ操作(FileSystemObject)

VBScript - フォルダ操作(FileSystemObject)


VBScript には標準でフォルダを操作する関数は準備されていない。
フォルダを操作するときは FileSystemObject を使う。

FileSystemObject でフォルダを扱う方法を紹介する。

フォルダを作る(CreateFolder メソッド)

CreateFolder メソッドでフォルダを作成できる。

Dim newFolder
Set newFolder = fso.CreateFolder( Path )

Path に作成するフォルダのパスを指定する。

戻り値は作成されたフォルダのオブジェクト。

すでに存在するパスを指定すると実行時エラーが起きる。

フォルダをコピーする(CopyFolder メソッド)

CopyFolder メソッドでフォルダをコピーできる。

fso.CopyFolder( Source, Destination [, OverWriteFiles] )

Source にコピー元フォルダのパス、Destination にコピー先のパスを指定する。

OverWriteFiles に True を指定した場合、コピー先がすでに存在するときは上書きされる。
False を指定した場合、実行時エラーが起きる。
既定値は True 。

フォルダを移動する(MoveFolder メソッド)

MoveFolder メソッドでフォルダを移動できる。

fso.MoveFolder( Source, Destination )

Source に移動元フォルダのパス、Destination に移動先のパスを指定する。

移動先がすでに存在する場合は実行時エラーが起きる。

フォルダを削除する(DeleteFolder メソッド)

DeleteFolder メソッドでフォルダを削除できる。

フォルダ内のコンテンツ有無は関係なしに削除される。

fso.DeleteFolder( FolderSpec [, Force])

FolderSpec に削除するフォルダのパスを指定する。
存在しないフォルダを指定した場合は実行時エラーが起きる。

Force に True を指定すると読み取り専用であっても削除する。
False の場合は削除しない。
既定値は False 。

フォルダオブジェクトを取得する(GetFolder メソッド)

GetFolder メソッドでフォルダオブジェクトを取得できる。

Dim folder
Set folder = fso.GetFolder( FolderPath )

FolderPath に取得するフォルダのパスを指定する。

戻り値としてフォルダオブジェクトが返る。

存在しないパスを指定した場合、実行時エラーが起きる。

Windows の特殊フォルダのオブジェクトを取得する(GetSpecialFolder メソッド)

GetSpecialFolder メソッドで特殊フォルダのオブジェクトを取得できる。

Dim folder
Set folder = fso.GetSpecialFolder( SpecialFolder )

SpecialFolder に取得したい特殊フォルダを表す値を指定する。
以下の3種類のいずれかが指定できる。

  • 0 (定数: WindowsFolder) → Windows フォルダ
  • 1 (定数: SystemFolder) → System フォルダ
  • 2 (定数: TemporaryFolder) → Temp フォルダ

戻り値としてフォルダオブジェクトが返る。

以下の例は、それぞれの特殊フォルダのパスを出力するスクリプトである。

'Windows フォルダ
WScript.Echo fso.GetSpecialFolder(0).Path
'  → C:\Windows

'System フォルダ
WScript.Echo fso.GetSpecialFolder(1).Path
'  → C:\Windows\System32

'Temp フォルダ
WScript.Echo fso.GetSpecialFolder(2).Path
'  → C:\Users\username\AppData\Local\Temp

フォルダの存在を確認する(FolderExists メソッド)

FolderExists メソッドでフォルダが存在するか確認できる。

fso.FolderExists( FolderSpec ) 

FolderSpec にフォルダのパスを指定する。

フォルダが存在する場合は True 、そうでない場合は False が返る。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事