Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3060
  • Last Modified:

Using VBScript to delete files

Using Vbscript i would like to delete any batch file located under any User's Start Up Folder on Windows 2000. For example under the document and settings if i logged in with my user account "test" then I wouild like to delete any batch files found in C:\Documents and Settings\test\Start Menu\Programs\Startup... also if i looged in as "test2"  I wouild like to delete any batch files found in C:\Documents and Settings\test2\Start Menu\Programs\Startup. So this script would chage the location of the file according to the user that is logged in to the computer.
0
gbarrientos
Asked:
gbarrientos
  • 2
1 Solution
 
malharoneCommented:
hope this provides a startup

Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemobject")
Set documentSettingFolder = FSO.GetFolder("C:\Documents and Settings\")
Set userFolders = documentSettingFolder.SubFolders
For Each userFolder In userFolders
      FSO.DeleteFile(userFolder & "\Start Menu\Programs\Startup\*.bat")
Next
msgbox("Done deleting batch files")
0
 
bhagyeshtCommented:
gbarrientos: there is a special folder property that directly gives the path to the startup folder


set WshShell = WScript.CreateObject("WScript.Shell")
strStartup = WshShell.SpecialFolders("startup")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(strStartup)
For Each x In f.files
      if right(x.name,4)=".bat" then
          FSO.DeleteFile(x)
      end if
Next

0
 
gari55zwCommented:
/* hopefully this will help coz its doing some wonders for me, just put it as a function */


Public Function funtname(delDays as integer, scanDir as string)

   Dim fs As Object
   
   On Error GoTo errorHandler
   Set fs = CreateObject("Scripting.FileSystemObject")
   
   ' CHECK IF THE DIRECTORY EXISTS
   If Dir$(scanDir, vbDirectory) <> "" Then
      ' DIRECTORY DOES EXIST, SO GO ON ...
      Dim fileDate As Date   ' Declare variables.
      Dim f, f1, fc
     
      Set f = fs.GetFolder(scanDir)
      Set fc = f.Files
      For Each f1 In fc
         fileDate = f1.DateCreated
         If DateDiff("d", fileDate, Now) > delDays Then
            f1.Delete

         End If
         
      Next

   End If
   Set fs = Nothing
   Exit Function
   
errorHandler:
   Resume Next
End Function
0
 
bhagyeshtCommented:
gbarrientos: what you have accepted may not work if you execute the script with a non admin previlages besides it doesnt work as you asked. "So this script would chage the location of the file according to the user that is logged in to the computer. "

What I have mentioned does that I gets the startup folder depending on the user logged in. besides there would be no issues of rights since the user should normally be allowed to modify his/her settings.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now