SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

まだまだ使える! WSH

まだまだ使える! WSHプログラミング ~ VBScriptでファイルを操作する共通モジュール

まだまだ使える! WSH 第5回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 VBScriptによるプログラミングの開発効率をアップするための共通モジュールを紹介します。今回は、ファイル操作を行う共通モジュールを紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

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:ファイルパスを指定します。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
5. 共通モジュールによるファイル操作の自動化

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
まだまだ使える! WSH連載記事一覧

もっと読む

この記事の著者

五十嵐貴之(イカラシ タカユキ)

1975年2月生まれ。新潟県長岡市(旧越路町)出身。フリープログラミング団体いかちソフトウェア所属。 著書・これならわかるSQL入門の入門(翔泳社)・Windows自動処理のためのWSHプログラミングガイド(ソシム)・いちばんやさしいデータベースの本(技術評論社)・SQLiteポケットリフ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9365 2016/04/19 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング