![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | Delete Folders using WMI Hi, I'm trying to clean "$NTUninstall..." folders from remote machines and found the below snippet useful.Unfortunately it isn't deleting any folders.Can someone point me where is the fault... I can't use FSO objects since I need to delete folders in multiple machines where C$ shares might not be available. strComputer ="." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") strQueryString1 = "Select * from Win32_Directory where Name = '" & OSRootDir & "'" Set colSubfolders = objWMIService.ExecQuery (strQueryString1) For Each objFolder in colSubfolders If Instr( UCase(objFolder.Name), "$NTUNINSTALL" ) > 0 then strReport = strReport & "Deleted :" & strcomputer & ":" & objFolder.Name & " uninstall folder" & vbCrLf objFolder.delete End If Next |
My System Specs![]() |
| | #2 (permalink) |
| | Re: Delete Folders using WMI "Babu VT" <babuvt@xxxxxx> wrote in message news:uFeetFN%23JHA.1248@xxxxxx Quote: > Hi, > I'm trying to clean "$NTUninstall..." folders from remote machines and > found the below snippet useful.Unfortunately it isn't deleting any > folders.Can someone point me where is the fault... I can't use FSO objects > since I need to delete folders in multiple machines where C$ shares might > not be available. > > strComputer ="." > Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") > strQueryString1 = "Select * from Win32_Directory where Name = '" & > OSRootDir & "'" > Set colSubfolders = objWMIService.ExecQuery (strQueryString1) > For Each objFolder in colSubfolders > If Instr( UCase(objFolder.Name), "$NTUNINSTALL" ) > 0 then > strReport = strReport & "Deleted :" & strcomputer & ":" & objFolder.Name > & " uninstall folder" & vbCrLf > objFolder.delete > End If > > Next this Scripting Guy item might help: How Can I Delete a Folder and All Its Subfolders? http://www.microsoft.com/technet/scr...5/hey0405.mspx |
My System Specs![]() |
| | #3 (permalink) |
| | Re: Delete Folders using WMI Babu VT wrote: Quote: > Hi, > I'm trying to clean "$NTUninstall..." folders from remote machines > and found the below snippet useful.Unfortunately it isn't deleting > any folders.Can someone point me where is the fault... I can't use > FSO objects since I need to delete folders in multiple machines where > C$ shares might not be available. > > strComputer ="." > Set objWMIService = GetObject("winmgmts:\\" & strComputer & > "\root\cimv2") strQueryString1 = "Select * from Win32_Directory where > Name = '" & OSRootDir & "'" Set colSubfolders = > objWMIService.ExecQuery (strQueryString1) For Each objFolder in > colSubfolders If Instr( UCase(objFolder.Name), "$NTUNINSTALL" ) > 0 > then strReport = strReport & "Deleted :" & strcomputer & ":" & > objFolder.Name & " uninstall folder" & vbCrLf objFolder.delete > End If > > Next the folders just to be sure it is safe to remove them. That is why I wrote the following which will only delete the folders if they are more than 2 weeks old. Code: '=======================================================================
===
'
' NAME: CleanHotfixUninstalls.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL : http://www.thespidersparlor.com
' COPYRIGHT (c) 2008 All rights reserved
' DATE : 05/07/2008
'
' COMMENT:
'
' This script will enumerate Uninstall folders under the Windows
directory
' and delete them if they are more than two weeks old
'
'
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
' PARTICULAR PURPOSE.
'
' IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE
SUPPLIERS
' BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
' OF THIS CODE OR INFORMATION.
'=====================================
Dim fso, WshShell
Dim oFolder, oSubFolder
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell=CreateObject("WScript.Shell")
WinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")
Path = WinDir
Set oFolder = fso.GetFolder(Path)
Set colSubfolders = oFolder.Subfolders
For Each oSubfolder in colSubfolders
If Left(oSubFolder.Name,1) = "$" Then
If Right(oSubFolder.Name,1) = "$" Then
'If DateDiff("d", oSubFolder.DateCreated,Now) > 14 Then
fso.DeleteFolder(oSubFolder)
'End If
End If
End If
Next
Set oSubFolder = Nothing
Set oFolder = Nothing
Set fso = Nothing
|
My System Specs![]() |
| | #4 (permalink) |
| | Re: Delete Folders using WMI Just realized the posted version had the two week check commented out. Code: '=======================================================================
===
'
' NAME: CleanHotfixUninstalls.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL : http://www.thespidersparlor.com
' COPYRIGHT (c) 2008 All rights reserved
' DATE : 05/07/2008
'
' COMMENT:
'
' This script will enumerate Uninstall folders under the Windows
directory
' and delete them if they are more than two weeks old
'
'
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
' PARTICULAR PURPOSE.
'
' IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE
SUPPLIERS
' BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
' OF THIS CODE OR INFORMATION.
'=====================================
Dim fso, WshShell
Dim oFolder, oSubFolder
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell=CreateObject("WScript.Shell")
WinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")
Path = WinDir
Set oFolder = fso.GetFolder(Path)
Set colSubfolders = oFolder.Subfolders
For Each oSubfolder in colSubfolders
If Left(oSubFolder.Name,1) = "$" Then
If Right(oSubFolder.Name,1) = "$" Then
If DateDiff("d", oSubFolder.DateCreated,Now) > 14 Then
fso.DeleteFolder(oSubFolder)
End If
End If
End If
Next
Set oSubFolder = Nothing
Set oFolder = Nothing
Set fso = Nothing
|
My System Specs![]() |
| | #5 (permalink) |
| | Re: Delete Folders using WMI Sorry for the repost, but I noticed I had the date checks commented out on the previously posted version. Code: '=======================================================================
===
'
' NAME: CleanHotfixUninstalls.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL : http://www.thespidersparlor.com
' COPYRIGHT (c) 2008 All rights reserved
' DATE : 05/07/2008
'
' COMMENT:
'
' This script will enumerate Uninstall folders under the Windows
directory
' and delete them if they are more than two weeks old
'
'
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
' PARTICULAR PURPOSE.
'
' IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE
SUPPLIERS
' BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
' OF THIS CODE OR INFORMATION.
'=====================================
Dim fso, WshShell
Dim oFolder, oSubFolder
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell=CreateObject("WScript.Shell")
WinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")
Path = WinDir
Set oFolder = fso.GetFolder(Path)
Set colSubfolders = oFolder.Subfolders
For Each oSubfolder in colSubfolders
If Left(oSubFolder.Name,1) = "$" Then
If Right(oSubFolder.Name,1) = "$" Then
If DateDiff("d", oSubFolder.DateCreated,Now) > 14 Then
fso.DeleteFolder(oSubFolder)
End If
End If
End If
Next
Set oSubFolder = Nothing
Set oFolder = Nothing
Set fso = Nothing
|
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Can't delete folders | Vista mail | |||
| delete folders | Vista mail | |||
| is there a way to delete all the IE folders | Network & Sharing | |||
| Cannot delete folders | Vista General | |||
| Folders won't delete | Vista file management | |||