【VBScript】ファイルのサイズを取得する部品


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript INDEX

VBScriptで、ファイルのサイズを取得する部品を作成したので、公開したいと思います。
また、この部品をラップして、ファイルサイズが0バイトか、それ以外かを判定する部品も合わせて公開したいと思います。

ファイルサイズの取得

ソースコードの構成です。
「main.vbs」が実行するスクリプト、「function.vbs」は「main.vbs」から呼び出されるファイルサイズを取得する処理を記述した部品となります。

main.vbs

Option Explicit

Dim file
file = "C:\workspace\VBScript\main.vbs"

' ファイルシステムオブジェクトの作成
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

' 関数の読み込み
Execute fso.OpenTextFile("function.vbs").ReadAll()

' 関数の呼び出し
MsgBox(GetFileSize(file))

' ファイルシステムオブジェクトの破棄
Set fso = Nothing

function.vbs

Option Explicit

' ファイルサイズ取得
Function GetFileSize(file)

	' ファイルシステムオブジェクトの作成
	Dim fso
	Set fso = CreateObject("Scripting.FileSystemObject")

	' ファイルサイズの取得
	Dim objFile, fileSize
	Set objFile = fso.GetFile(file)
	GetFileSize = objFile.Size

	' ファイルシステムオブジェクトの破棄
	Set fso = Nothing

End Function

呼び出し方は「GetFileSize(確認したいファイル)」です。
「main.vbs」で記述している「MsgBox(GetFileSize(file))」は、「C:\workspace\VBScript\main.vbs」のファイルサイズをメッセージボックスで表示するというものです。

別のVBSファイルに記述した関数の読み込み方については以下の記事をご覧ください。

ファイルサイズが0バイトかそれ以外かを判定

ソースコードの構成は、先に解説した「ファイルサイズの取得」関数と同じです。
ファイルサイズの有無を判定する関数名は「IsFileSize」としています。
関数の戻り値は下記になります。
0バイト:False
0バイト以外:True

main.vbs

Option Explicit

Dim file
file = "C:\workspace\VBScript\main.vbs"

' ファイルシステムオブジェクトの作成
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

' 関数の読み込み
Execute fso.OpenTextFile("function.vbs").ReadAll()

' 関数の呼び出し
MsgBox(IsFileSize(file))

' ファイルシステムオブジェクトの破棄
Set fso = Nothing

function.vbs

Option Explicit

' ファイルサイズ判定
Function IsFileSize(file)

	If(GetFileSize(file)=0)Then
		IsFileSize = False
	Else
		IsFileSize = True
	End If

End Function

' ファイルサイズ取得
Function GetFileSize(file)

	' ファイルシステムオブジェクトの作成
	Dim fso
	Set fso = CreateObject("Scripting.FileSystemObject")

	' ファイルサイズの取得
	Dim objFile, fileSize
	Set objFile = fso.GetFile(file)
	GetFileSize = objFile.Size

	' ファイルシステムオブジェクトの破棄
	Set fso = Nothing

End Function

呼び出し方は「IsFileSize(確認したいファイル)」です。
仕組みは簡単で、「IsFileSize」関数内で「GetFileSize」関数を呼び出しています。
「GetFileSize」関数の結果が、「0」(つまり0バイト)であれば、「False」を返し、それ以外は「True」を返しています。

記事は以上です。簡単なプログラムですが、汎用性も高いと思います。是非ご利用頂ければと思います。

コメント

タイトルとURLをコピーしました