Solved

Using VBScript to delete files

Posted on 2003-11-17
4
3,018 Views
Last Modified: 2011-09-20
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
Comment
Question by:gbarrientos
  • 2
4 Comments
 
LVL 9

Accepted Solution

by:
malharone earned 500 total points
ID: 9768183
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
 
LVL 9

Expert Comment

by:bhagyesht
ID: 9770260
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
 

Expert Comment

by:gari55zw
ID: 9770692
/* 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
 
LVL 9

Expert Comment

by:bhagyesht
ID: 9776630
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

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now