1. はじめに
本連載では、VBScriptで開発した共通モジュールを紹介しています。
今回は、ファイル操作を行う共通モジュールです。例えば、ファイルのコピーや移動、削除、存在チェックなどのファイル操作をかんたんに実装することができます。また、テキストファイルの作成や、テキストファイルの読み込み・書き込みのためのメソッドも用意しました。
VBScriptで作成するスクリプトの場合、ファイル操作を行うスクリプトを開発する場合がもっとも多いのではないでしょうか。ぜひとも、実際の業務に役立てて戴ければ幸いです。
2. 対象読者
- WSH(VBScript)での開発を行っているプログラマー、システム管理者
3. 必要な環境
- Windows OS全般
4. ファイルを操作する共通モジュール
今回紹介させていただくファイル操作の共通モジュールでは、ファイルの移動やコピー、削除といった基本的なファイル操作をよりかんたんにVBScriptで実装することができるようになります。
その他、テキストファイルの作成や、読み込み・書き込みを行うためのテキストファイル操作の共通モジュールも併せてご紹介させていただきます。
VBScriptでファイル操作を行う場合、FileSystemObjectというCOMを利用します。FileSystemObjectのProgIDは、"Scripting.FileSystemObject"です。COMやProgIDについては、前回の記事をご覧ください。
今回ご紹介させていただく共通モジュールは、以下のURLからダウンロードできます。
今回使う共通モジュールは、下記の通りです。
- ファイルを操作するための共通モジュール...FileCommon.vbs
- テキストファイルを操作するための共通モジュール...TextFileManager.vbs
これら2つの共通モジュールが提供するメンバは、それぞれ次のとおりです。
FileCommonのメンバ
CurDir関数
カレントディレクトリを返します。
CurDir()
IsFileExists関数
ファイルの存在チェックを行います。ファイルが存在した場合は、真(true)を返します。ファイルが存在しなかった場合は、偽(false)を返します。
IsFileExists(strFilePath)
パラメータ
- strFilePath:存在チェックを行うファイルのパスを指定します。
IsFolderExists関数
フォルダの存在チェックを行います。フォルダが存在した場合は、真(true)を返します。フォルダが存在しなかった場合は、偽(false)を返します。
IsFolderExists(strFolderPath)
パラメータ
- strFolderPath:存在チェックを行うフォルダのパスを指定します。
RegExpMatchFileList関数
正規表現に合致するファイルの一覧を文字列型配列で返します。
RegExpMatchFileList(strFolderPath, strPattern)
パラメータ
- strFolderPath:検索を行うフォルダのパスを指定します。
- strPattern:正規表現のパターンを指定します。
GetDateCreatedFile関数
ファイルの作成日時を取得します。
GetDateCreatedFile(strFilePath)
パラメータ
- strFilePath:ファイルのパスを指定します。
GetDateLastModifiedFile関数
ファイルの最終更新日時を取得します。
GetDateLastModifiedFile(strFilePath)
パラメータ
- strFilePath:ファイルのパスを指定します。
GetDateLastAccessedFile関数
ファイルの最終アクセス日時を取得します。
GetDateLastAccessedFile(strFilePath)
パラメータ
- strFilePath:ファイルのパスを指定します。
IsUsedDriveLetter関数
指定したドライブレターの使用状況をチェックします。ドライブレターが使用されていれば真(true)、使用されていなければ偽(false)を返します。
IsUsedDriveLetter(vstrDrv)
パラメータ
- vstrDrv:ドライブ名を指定します。
GetParentFolderName関数
指定されたオブジェクトの親フォルダの名前を返します。
GetParentFolderName(vstrPath)
パラメータ
- vstrPath:オブジェクトのパスを指定します。
Messageプロパティ
エラーなどのメッセージを返します。
object.Message
CreateFolderメソッド
フォルダを作成します。フォルダを作成できた場合は、真(true)を返します。フォルダを作成できなかった場合は、偽(false)を返します。
object.CreateFolder(strFolderPath)
パラメータ
- strFolderPath:作成するフォルダのパスを指定します。
CreateFolderExメソッド
深い階層のフォルダを作成します。フォルダを作成できた場合は、真(true)を返します。フォルダを作成できなかった場合は、偽(false)を返します。
object.CreateFolderEx(strFolderPath)
パラメータ
- strFolderPath:作成するフォルダのパスを指定します。
FileDeleteメソッド
ファイルを削除します。ファイルを削除できた場合は、真(true)を返します。ファイルを削除できなかった場合は、偽(false)を返します。
object.FileDelete(strFilePath)
パラメータ
- strFilePath:削除するファイルのパスを指定します。
FolderDeleteメソッド
フォルダを削除します。フォルダを削除できた場合は、真(true)を返します。フォルダを削除できなかった場合は、偽(false)を返します。
object.FolderDelete(strFolderPath)
パラメータ
- strFolderPath:削除するフォルダのパスを指定します。
FileCopyメソッド
ファイルをコピーします。ファイルをコピーできた場合は、真(true)を返します。ファイルをコピーできなかった場合は、偽(false)を返します。
object.FileCopy(strFrom, strTo)
パラメータ
- strFrom:コピー元のファイルのパスを指定します。
- strTo:コピー先のファイルのパスを指定します。
FolderCopyメソッド
フォルダをコピーします。フォルダをコピーできた場合は、真(true)を返します。フォルダをコピーできなかった場合は、偽(false)を返します。
object.FolderCopy(strFrom, strTo)
パラメータ
- strFrom:コピー元のフォルダのパスを指定します。
- strTo:コピー先のフォルダのパスを指定します。
FileMoveメソッド
ファイルを移動します。ファイルを移動できた場合は、真(true)を返します。ファイルを移動できなかった場合は、偽(false)を返します。
object.FileMove(strFrom, strTo)
パラメータ
- strFrom:移動元のファイルのパスを指定します。
- strTo:移動先のファイルのパスを指定します。
FolderMoveメソッド
フォルダを移動します。フォルダを移動できた場合は、真(true)を返します。フォルダを移動できなかった場合は、偽(false)を返します。
object.FolderMove(strFrom, strTo)
パラメータ
- strFrom:移動元のフォルダのパスを指定します。
- strTo:移動先のフォルダのパスを指定します。
GetFileListメソッド
指定のフォルダからファイルの一覧を文字列型配列で取得します。
object.GetFileList(strFolderPath)
パラメータ
- strFolderPath:ファイルの一覧を取得するフォルダを指定します。
TextFileManagerのメンバ
Messageプロパティ
エラーなどのメッセージを返します。
object.Message
ReadTextメソッド
テキストファイルをすべて読み込みます。正常に読み込むことができた場合は、テキストファイルの内容を返します。正常に読み込むことができなかった場合は、偽(false)を返します。
object.ReadText(strFilePath)
パラメータ
- strFilePath:ファイルパスを指定します。
WriteTextメソッド
テキストファイルに文字列を書き込みます。正常に書き込むことができた場合は、真(true)を返します。正常に書き込むことができなかった場合は、偽(false)を返します。
object.WriteText(strFilePath, strValue)
パラメータ
- strFilePath:ファイルパスを指定します。
- strValue:書き込む文字列を指定します。
ClearTextメソッド
テキストファイルの内容をクリアします。正常にクリアできた場合は、真(true)を返します。正常にクリアできなかった場合は、偽(false)を返します。
object.ClearText(strFilePath)
パラメータ
- strFilePath:ファイルパスを指定します。
CreateTextメソッド
テキストファイルを作成します。正常に作成できた場合は、真(true)を返します。正常に作成できなかった場合は、偽(false)を返します。
object.CreateText(strFilePath)
パラメータ
- strFilePath:ファイルパスを指定します。