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でファイルを削除する方法でした。