Home / Microsoft / Microsoft DOS / Needing a batch file to delete all files in a folder older than 5 days old
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] 2  All - (Bottom) Print
Author Topic: Needing a batch file to delete all files in a folder older than 5 days old  (Read 20620 times)
WEW
Topic Starter
Rookie



Posts: 27


« on: August 05, 2008, 07:40:06 PM »

Hey I need a batch file to delete all .avi files in a folder older than 5 days old. I looked at the set, for, if commands, and for examples , but so far can't find any examples that help me figure out how to use the commands,I have read the if,for,set/? , but i guess i am to inexperienced to understand without some examples of their uses.... I bought a security camera and see that it will keep me very busy sorting the files out. I don't know if it's possible or not but would appreciate any help... I have no knowledge using the for, set, and if commands... did look through the forums, but didn't find anything that will help me yet, but will keep searching.... any help would be greatly appreciated...Thanks WEW. 


I'm running a dell dimension E510 with Processor Intel(R) Pentium(R) D CPU 3.00GHz
Processor Speed 2.92 GHz
Memory (RAM) 1024 MB
Operating System Microsoft Windows XP Professional
Operating System Version 5.1.2600
« Last Edit: August 05, 2008, 07:53:32 PM by WEW » IP logged
DJFLuFFY
Rookie



Posts: 11


« Reply #1 on: August 06, 2008, 03:45:46 AM »

I am looking for the same script so please answer this one


Many thanks in advance
IP logged
Carbon Dudeoxide
Global Moderator
Mastermind


Thanked: 146
Posts: 16,087

Certifications: List
Computer: Specs
Experience: Expert
OS: Mac OS


Carbon - The building block of life on Earth.

My Youtube Profile 1 1
« Reply #2 on: August 06, 2008, 03:48:35 AM »

Homework?   ::)
IP logged

Jacob
Hopeful



Posts: 338


« Reply #3 on: August 06, 2008, 03:54:50 AM »

Homework?   ::)
Quote
I'm running a dell dimension E510 with Processor Intel(R) Pentium(R) D CPU 3.00GHz
Processor Speed 2.92 GHz
Memory (RAM) 1024 MB
Operating System Microsoft Windows XP Professional
Operating System Version 5.1.2600
IP logged

DJFLuFFY
Rookie



Posts: 11


« Reply #4 on: August 06, 2008, 06:17:57 AM »

homework????

don't understand
IP logged
Jacob
Hopeful



Posts: 338


« Reply #5 on: August 06, 2008, 08:36:28 AM »

homework????

don't understand
He thinks this persons query is a school assignment.
IP logged

DJFLuFFY
Rookie



Posts: 11


« Reply #6 on: August 06, 2008, 08:38:30 AM »

LOL

i need it to delete my logfiles and .torrent files that i don't use
IP logged
Sidewinder
Guru



Thanked: 97
Posts: 4,342

Experience: Familiar
OS: Windows 7

« Reply #7 on: August 06, 2008, 08:41:17 AM »

homework????

don't understand

It's code for the paranoia factor.

Batch code does not handle date/time arithmetic very well. Dates can be formatted many different ways. The actual format can be extracted from the registry adding overhead to your batch file.

Aging files is simple arithmetic provided the current day of month is greater than age factor. When it's not, you may be dealing with multiple past months and their cumulative days.

Most scripting languages for Windows have functions to specifically handle dates. Any reason your solution must be batch code?

 8)


IP logged

If you don't know where you are going, any road will get you there

                                                                            -Lewis Carroll
Carbon Dudeoxide
Global Moderator
Mastermind


Thanked: 146
Posts: 16,087

Certifications: List
Computer: Specs
Experience: Expert
OS: Mac OS


Carbon - The building block of life on Earth.

My Youtube Profile 1 1
« Reply #8 on: August 06, 2008, 08:43:17 AM »

You can simply do a search of the computer for .log .txt and .torrent and then sort them by date.

Quote
It's code for the paranoia factor.
Heh, you will know it's bad when I just ask 'Why'  :P
IP logged

DJFLuFFY
Rookie



Posts: 11


« Reply #9 on: August 06, 2008, 08:45:45 AM »

if you have another script that does what i want it is welcome :)

i am a PHP coder so i know the basics for programming but making a Batch is really different

You can simply do a search of the computer for .log .txt and .torrent and then sort them by date.

Quote
It's code for the paranoia factor.
Heh, you will know it's bad when I just ask 'Why'  :P

this is how i work now, But it takes a lot of time to do.
IP logged
Sidewinder
Guru



Thanked: 97
Posts: 4,342

Experience: Familiar
OS: Windows 7

« Reply #10 on: August 06, 2008, 09:02:02 AM »

This little snippet is written in VBScript:

Code: [Select]
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("c:\scripts")            'point to your directory
Set fc = f.Files

For Each objFile In fc
If fso.GetExtensionName(objFile) = "avi" then
If objFile.DateCreated < date - 5 Then
WScript.Echo objFile & " " & objFile.DateCreated
'fso.DeleteFile(objFile)  'commented out
End If
End If
Next

Save with a vbs extension and run from the command line as: cscript scriptname.vbs

The delete function is currently commented out. Script will currently list files to be deleted. When you're ready, uncomment the delete function and comment the wscript.echo line.

Good luck  8)

IP logged

If you don't know where you are going, any road will get you there

                                                                            -Lewis Carroll
DJFLuFFY
Rookie



Posts: 11


« Reply #11 on: August 07, 2008, 12:58:09 AM »

Thanks this works really great :)

only i have 2 new problems  :-[

because i forgot to tell you that it has to do the same with all the folders & subfolders

and now i can only select 1 extension by default it's avi. *.* works fine for me ;)

IP logged
DJFLuFFY
Rookie



Posts: 11


« Reply #12 on: August 07, 2008, 01:03:22 AM »

Thanks this works really great :)

only i have 2 new problems  :-[

because i forgot to tell you that it has to do the same with all the folders & subfolders

and now i can only select 1 extension by default it's avi. *.* works fine for me ;) < Yes i fixed this :)



But i still can't figure out how to include the subfolders
IP logged
Sidewinder
Guru



Thanked: 97
Posts: 4,342

Experience: Familiar
OS: Windows 7

« Reply #13 on: August 07, 2008, 04:02:34 AM »

The original code from the snippet closet had recursion built in. It took me days, hours, oh alright, a few minutes to rip it out. Should have gone with my gut feeling.;D

Again the delete function is commented. You can activate it when you're satisfied this works in your environment. Be careful, files deleted with this script do not make a pit stop in the recycle bin.

Code: [Select]
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("c:\scripts")           'point to your directory
Set colSubFolders = f.SubFolders

For Each objFolder in colSubFolders
ShowFiles objFolder
Next

Sub ShowFiles(Fld)
Set k = fso.GetFolder(Fld)
Set s = k.SubFolders
Set kf = k.Files

For Each objFile In kf
If fso.GetExtensionName(objFile) = "avi" then
If objFile.DateCreated < date - 5 Then
WScript.Echo objFile & " " & objFile.DateCreated
                                'fso.Deletefile(objFile)    'commented out
End If
End if
Next

For Each SubFolder In s
ShowFiles SubFolder
Next
End Sub

 8)
IP logged

If you don't know where you are going, any road will get you there

                                                                            -Lewis Carroll
DJFLuFFY
Rookie



Posts: 11


« Reply #14 on: August 07, 2008, 05:40:58 AM »

Thanks again :)

but i get an error when i try to delete files. the echo part works great :)




ps. the recycle bin is for Pussies  :P

[recovering disk space -- attachment deleted by admin]
IP logged
Pages: [1] 2  All - (Top) Print 
Home / Microsoft / Microsoft DOS / Needing a batch file to delete all files in a folder older than 5 days old « previous next »
 


Login with username, password and session length

Old Forum Search | Forum Rules
Copyright © 2010 Computer Hope ® All rights reserved.
Powered by SMF 2.0 RC3 | SMF © 2006–2010, Simple Machines LLC
Page created in 0.103 seconds with 20 queries.