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 が返る。
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事にコメントをしてみませんか?