ごみ箱を空にする。(XP)
Shell.Applicationを使えば、一行で出来るものの、削除の確認ダイアログが出ます。
CreateObject("Shell.Application").NameSpace(10).Self.InvokeVerb "ごみ箱を空にする(&B)"
※ XPまでは、InvokeVerb "ごみ箱を空にする(&B)"は同期です。
FileSystemObjectを使えば、ダイアログなしに、ごみ箱を空に出来ます。ただし、その場合は、デスクトップのゴミ箱のアイコンが空に変わりません。:-(
そこで、ファイルをひとつ、空になったゴミ箱に送って、元に戻せば、デスクトップのゴミ箱のアイコンが空に変わります。
ごみ箱を空にする.VBS
Set fso=CreateObject("Scripting.FileSystemObject")
Set Shell=CreateObject("Shell.Application")
Set Folder=Shell.NameSpace(10)
For Each FolderItem In Folder.Items()
If fso.FileExists(FolderItem.Path) Then
fso.DeleteFile FolderItem.Path,True
ElseIf fso.FolderExists(FolderItem.Path) Then
fso.DeleteFolder FolderItem.Path,True
End If
Next
If Folder.Items().Count=0 Then
Set sFolder=Shell.NameSpace(fso.GetParentFolderName(WScript.ScriptFullName))
Folder.MoveHere sFolder.Items().Item(WScript.ScriptName)
Do While Not sFolder.Items().Item(WScript.ScriptName) Is Nothing
WScript.Sleep 100
Loop
sFolder.MoveHere Folder.Items().Item(0)
End If
« PowerShellでファイルやフォルダをごみ箱に捨てる。(XP) | トップページ | インターネット一時ファイルを削除する。 »