2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« PowerShellでファイルやフォルダをごみ箱に捨てる。(XP) | トップページ | インターネット一時ファイルを削除する。 »

2007年12月13日 (木)

ごみ箱を空にする。(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) | トップページ | インターネット一時ファイルを削除する。 »