VBScript ファイルの削除

VBScriptでファイルを削除する方法について説明します。

VBScriptでファイルの削除を行う方法について、ここでは、以下の2つのプログラム例を紹介します。

プログラム例1では、FileSystemObjectのDeleteFileメソッドを使用します。こちらはファイルのみ削除が可能です。

プログラム例2では、FileオブジェクトのDeleteメソッドを使用します。こちらはファイルとフォルダの削除が可能です。

 

プログラム例1

FileSystemObjectのDeleteFileメソッドを使用して、C:\temp\test.txtファイルを削除します。

ファイル名:DeleteFile01.vbs

Option Explicit

‘変数を宣言
Dim fso 

‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘ファイル削除
fso.DeleteFile “C:\temp\test.txt”

指定したファイルが存在しない場合はエラーになります。

ファイル名にワイルドカードを使用することもできます。

次の例では、C:\tempフォルダにある、「test」で始まるファイル名のファイルを削除します。

ファイル名:DeleteFile02.vbs

Option Explicit

‘変数を宣言
Dim fso 

‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘ファイル削除
fso.DeleteFile “C:\temp\test*”

実行すると、C:\tempフォルダにある、「test」で始まるファイルが削除されます。

「test」で始まるサブフォルダは削除されません。

削除されるのはファイルのみです。

 

指定したファイルが読み取り専用の場合、ファイルは削除されず、エラーになります。

読み取り専用のファイルを削除する場合は、以下のように第2引数にtrueを設定します。

ファイル名:DeleteFile03.vbs

Option Explicit

‘変数を宣言
Dim fso 

‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘ファイル削除
fso.DeleteFile “C:\temp\test*”, true

 

プログラム例2

FileオブジェクトのDeleteメソッドを使用して、C:\temp\test.txtファイルを削除します。

ファイル名:Delete01.vbs

Option Explicit

‘変数を宣言
Dim fso ,objFile

‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘Fileオブジェクト作成
Set objFile = fso.GetFile(“C:\temp\test.txt”)

‘ファイル削除
objFile.Delete

指定したファイルが存在しない場合はエラーになります。

 

FileオブジェクトのDeleteメソッドを使用して、フォルダを削除することも可能です。C:\temp\test\フォルダを削除します。

ファイル名:Delete02.vbs

Option Explicit

‘変数を宣言
Dim fso ,objFolder

‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘Folderオブジェクト作成
Set objFolder = fso.GetFolder(“C:\temp\test\”)

‘フォルダ削除
objFolder.Delete

ファイルまたはフォルダーの Delete メソッドの結果は 、FileSystemObject.DeleteFile または FileSystemObject.DeleteFolder を使用して実行される操作と同じです。

Delete メソッドでは、フォルダーが空であるかどうかは区別されません。

指定したフォルダーは、内容があるかどうかにかかわらず、削除されます。

 

指定したファイル、またはフォルダの中のファイルが読み取り専用のファイルの場合、ファイル、フォルダは削除されず、エラーになります。

読み取り専用のファイルを削除する場合は、以下のように第2引数にtrueを設定します。

ファイル名:Delete03.vbs

Option Explicit

‘変数を宣言
Dim fso ,objFolder

‘FileSystemObjectオブジェクトの生成
Set fso = CreateObject(“Scripting.FileSystemObject”)

‘Folderオブジェクト作成
Set objFolder = fso.GetFolder(“C:\temp\test\”)

‘フォルダ削除
objFolder.Delete true

 

まとめ

VBScriptでファイルを削除する方法について2つのプログラムを説明しました。

・FileSystemObjectのDeleteFileメソッドを使用する方法

・FileオブジェクトのDeleteメソッドを使用する方法

 

以上、VBScriptでファイルを削除する方法でした。