私が最近よく利用しているツールで、一時的なhtmlファイルを自動的に生成するものがあります。
生成されたhtmlファイルは、不具合を生じさせるようなものではないのですけれど、時々削除するほうが私は気持ちよく仕事をできます。
そのために簡単なVBScriptを作りましたので公開しておきます。
不要なhtmlファイルを削除するサンプルスクリプト
不要なhtmlファイルの存在するフォルダーで、以下のスクリプトを実行して、確認メッセージで[はい]をクリックすると、そのフォルダーに存在するhtmlファイルが削除されます。
ただし利用しているツールで必要な「_template.html」ファイルは残しています。
If MsgBox("htmlファイルを削除しますか?", vbYesNo) = vbNo Then
Wscript.Quit
End If
With CreateObject("Scripting.FileSystemObject")
Dim path_ 'As String
path_ = .getParentFolderName(WScript.ScriptFullName)
Dim f 'As Scripting.File
For Each f In .GetFolder(path_).Files
If .GetExtensionName(f.Name) = "html" Then
If f.Name <> "_template.html" Then
f.Delete
End If
End If
Next
End With
サンプルの解説
スクリプトファイルの置かれているフォルダーのパスを、FileSystemObjectオブジェクトのGetParentFolderNameメソッドの引数に、WScriptオブジェクトのScriptFullNameプロパティを指定することで取得して、
With CreateObject("Scripting.FileSystemObject")
Dim path_ 'As String
path_ = .getParentFolderName(WScript.ScriptFullName)
FolderオブジェクトのFilesプロパティで取得した、フォルダー内に含まれる全ファイルに対してFor Each~Nextループを回し、
Dim f 'As Scripting.File
For Each f In .GetFolder(path_).Files
FileSystemObjectオブジェクトのGetExtensionNameメソッドで取得した拡張子が「html」で、
If .GetExtensionName(f.Name) = "html" Then
ファイル名が「_template.html」でなかったときに、
If f.Name <> "_template.html" Then
FileオブジェクトのDeleteメソッドで削除しています。
f.Delete
上記の処理を開始する前に確認のメッセージを表示して、[いいえ]が押されたときにはWScript オブジェクトのQuitメソッドでスクリプトを終了しています。
If MsgBox("htmlファイルを削除しますか?", vbYesNo) = vbNo Then
Wscript.Quit
End If
Home » WSH・Windows Script Hostの使い方 » 不要なhtmlファイルを削除するVBScript