Sign in to follow this  
Followers 0
Duran

Month File Deleter

5 posts in this topic

Hey just thought I would throw this up for you guys that might have some use for it and if you guys can tell me if it is clean or not >< I am terrible sometimes at neatness. Used two examples I found on your guys wiki and array from and example works nicely ;)

Will give you guys props on your help pages they have helped a lot!

Local $iMax
 Local $i

; All month data for each day as well. Yes I know some months dont have 31 days just lazy to change it.
 Local $janData = "1-1-|1-2-|1-3-|1-4-|1-5-|1-6-|1-7-|1-8-|1-9-|1-10-|1-11-|1-12-|1-13-|1-14-|1-15-|1-16-|1-17-|1-18-|1-19-|1-20-|1-21-|1-22-|1-23-|1-24-|1-25-|1-26-|1-27-|1-28-|1-29-|1-30-|1-31-"
 Local $febData = "2-1-|2-2-|2-3-|2-4-|2-5-|2-6-|2-7-|2-8-|2-9-|2-10-|2-11-|2-12-|2-13-|2-14-|2-15-|2-16-|2-17-|2-18-|2-19-|2-20-|2-21-|2-22-|2-23-|2-24-|2-25-|2-26-|2-27-|2-28-|2-29-|2-30-|2-31-"
 Local $marData = "3-1-|3-2-|3-3-|3-4-|3-5-|3-6-|3-7-|3-8-|3-9-|3-10-|3-11-|3-12-|3-13-|3-14-|3-15-|3-16-|3-17-|3-18-|3-19-|3-20-|3-21-|3-22-|3-23-|3-24-|3-25-|3-26-|3-27-|3-28-|3-29-|3-30-|3-31-"
 Local $aprData = "4-1-|4-2-|4-3-|4-4-|4-5-|4-6-|4-7-|4-8-|4-9-|4-10-|4-11-|4-12-|4-13-|4-14-|4-15-|4-16-|4-17-|4-18-|4-19-|4-20-|4-21-|4-22-|4-23-|4-24-|4-25-|4-26-|4-27-|4-28-|4-29-|4-30-|4-31-"
 Local $mayData = "5-1-|5-2-|5-3-|5-4-|5-5-|5-6-|5-7-|5-8-|5-9-|5-10-|5-11-|5-12-|5-13-|5-14-|5-15-|5-16-|5-17-|5-18-|5-19-|5-20-|5-21-|5-22-|5-23-|5-24-|5-25-|5-26-|5-27-|5-28-|5-29-|5-30-|5-31-"
 Local $junData = "6-1-|6-2-|6-3-|6-4-|6-5-|6-6-|6-7-|6-8-|6-9-|6-10-|6-11-|6-12-|6-13-|6-14-|6-15-|6-16-|6-17-|6-18-|6-19-|6-20-|6-21-|6-22-|6-23-|6-24-|6-25-|6-26-|6-27-|6-28-|6-29-|6-30-|6-31-"
 Local $julData = "7-1-|7-2-|7-3-|7-4-|7-5-|7-6-|7-7-|7-8-|7-9-|7-10-|7-11-|7-12-|7-13-|7-14-|7-15-|7-16-|7-17-|7-18-|7-19-|7-20-|7-21-|7-22-|7-23-|7-24-|7-25-|7-26-|7-27-|7-28-|7-29-|7-30-|7-31-"
 Local $augData = "8-1-|8-2-|8-3-|8-4-|8-5-|8-6-|8-7-|8-8-|8-9-|8-10-|8-11-|8-12-|8-13-|8-14-|8-15-|8-16-|8-17-|8-18-|8-19-|8-20-|8-21-|8-22-|8-23-|8-24-|8-25-|8-26-|8-27-|8-28-|8-29-|8-30-|8-31-"
 Local $sepData = "9-1-|9-2-|9-3-|9-4-|9-5-|9-6-|9-7-|9-8-|9-9-|9-10-|9-11-|9-12-|9-13-|9-14-|9-15-|9-16-|9-17-|9-18-|9-19-|9-20-|9-21-|9-22-|9-23-|9-24-|9-25-|9-26-|9-27-|9-28-|9-29-|9-30-|9-31-"
 Local $octData = "10-1-|10-2-|10-3-|10-4-|10-5-|10-6-|10-7-|10-8-|10-9-|10-10-|10-11-|10-12-|10-13-|10-14-|10-15-|10-16-|10-17-|10-18-|10-19-|10-20-|10-21-|10-22-|10-23-|10-24-|10-25-|10-26-|10-27-|10-28-|10-29-|10-30-|10-31-"
 Local $novData = "11-1-|11-2-|11-3-|11-4-|11-5-|11-6-|11-7-|11-8-|11-9-|11-10-|11-11-|11-12-|11-13-|11-14-|11-15-|11-16-|11-17-|11-18-|11-19-|11-20-|11-21-|11-22-|11-23-|11-24-|11-25-|11-26-|11-27-|11-28-|11-29-|11-30-|11-31-"
 Local $decData = "12-1-|12-2-|12-3-|12-4-|12-5-|12-6-|12-7-|12-8-|12-9-|12-10-|12-11-|12-12-|12-13-|12-14-|12-15-|12-16-|12-17-|12-18-|12-19-|12-20-|12-21-|12-22-|12-23-|12-24-|12-25-|12-26-|12-27-|12-28-|12-29-|12-30-|12-31-"

 ; Paths to all files that are gonna be deleted.
 Local $1Path = "D:\1"
 Local $2Path = "D:\2"
 Local $3Path = "D:\3"
 Local $4Path = "D:\4"
 Local $5Path = "D:\5"
 Local $6Path = "D:\6"
 Local $7Path = "D:\7"
 Local $8Path = "D:\8"
 Local $9Path = "D:\9"

 ; Matching month to delete. Every 2 months.
 Local $Delete = @MON - 2

While 1

Select

Case $Delete = 1
     $arr = StringSplit($janData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 2
     $arr = StringSplit($febData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 3
     $arr = StringSplit($marData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 4
     $arr = StringSplit($aprData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 5
     $arr = StringSplit($mayData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
         Next
     Exit
 EndIf

Case $Delete = 6
     $arr = StringSplit($junData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 7
     $arr = StringSplit($julData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 8
     $arr = StringSplit($augData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = 9
     $arr = StringSplit($sepData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
 EndIf

Case $Delete = 10
     $arr = StringSplit($octData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR )
         DirRemove($2Path & $arr[$i] & @YEAR )
         DirRemove($3Path & $arr[$i] & @YEAR )
         DirRemove($4Path & $arr[$i] & @YEAR )
         DirRemove($5Path & $arr[$i] & @YEAR )
         DirRemove($6Path & $arr[$i] & @YEAR )
         DirRemove($7Path & $arr[$i] & @YEAR )
         DirRemove($8Path & $arr[$i] & @YEAR )
         DirRemove($9Path & $arr[$i] & @YEAR )
     Next
     Exit
 EndIf

Case $Delete = -1
     $arr = StringSplit($novData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR - 1 )
         DirRemove($2Path & $arr[$i] & @YEAR - 1 )
         DirRemove($3Path & $arr[$i] & @YEAR - 1 )
         DirRemove($4Path & $arr[$i] & @YEAR - 1 )
         DirRemove($5Path & $arr[$i] & @YEAR - 1 )
         DirRemove($6Path & $arr[$i] & @YEAR - 1 )
         DirRemove($7Path & $arr[$i] & @YEAR - 1 )
         DirRemove($8Path & $arr[$i] & @YEAR - 1 )
         DirRemove($9Path & $arr[$i] & @YEAR - 1 )
     Next
     Exit
 EndIf

Case $Delete = 0
     $arr = StringSplit($decData, "|")
     If IsArray($arr) Then
     Local $iMax = UBound($arr)

     For $i = 0 to $iMax - 1

         DirRemove($1Path & $arr[$i] & @YEAR - 1 )
         DirRemove($2Path & $arr[$i] & @YEAR - 1 )
         DirRemove($3Path & $arr[$i] & @YEAR - 1 )
         DirRemove($4Path & $arr[$i] & @YEAR - 1 )
         DirRemove($5Path & $arr[$i] & @YEAR - 1 )
         DirRemove($6Path & $arr[$i] & @YEAR - 1 )
         DirRemove($7Path & $arr[$i] & @YEAR - 1 )
         DirRemove($8Path & $arr[$i] & @YEAR - 1 )
         DirRemove($9Path & $arr[$i] & @YEAR - 1 )
     Next
     Exit
 EndIf
EndSelect
WEnd

File Assassin-fixed.au3

Share this post


Link to post
Share on other sites



Usually if your code contains allot of code that looks the same, there is a way to write it more efficiently.

I think this code does the same:

Local $nYear = @YEAR
Local $nMonth = @MON -2
If $nMonth < 1 Then
    $nYear -= 1
    $nMonth += 12
EndIf

For $nPath = 1 To 9 ;this is to create the prefix "D:\1 - D:\9"
    For $nDay = 1 To 31 ;this will loop through day 1 to 31 (I'm lazy like you)
        Local $sPath = "D:\" & $nPath & $nMonth & "-" & $nDay & "-" & $nYear ;isn't there supposed to be a "\" between $nPath and $nMonth? It wasn't in your original script.
        ConsoleWrite("Deleting: " & $sPath & @CRLF) ;easy to see what's happening.
        DirRemove($sPath,1) ;added the recursion parameter
    Next
Next

Share this post


Link to post
Share on other sites

Usually if your code contains allot of code that looks the same, there is a way to write it more efficiently.

I think this code does the same:

Local $nYear = @YEAR
Local $nMonth = @MON -2
If $nMonth < 1 Then
    $nYear -= 1
    $nMonth += 12
EndIf

For $nPath = 1 To 9 ;this is to create the prefix "D:\1 - D:\9"
    For $nDay = 1 To 31 ;this will loop through day 1 to 31 (I'm lazy like you)
        Local $sPath = "D:\" & $nPath & $nMonth & "-" & $nDay & "-" & $nYear ;isn't there supposed to be a "\" between $nPath and $nMonth? It wasn't in your original script.
        ConsoleWrite("Deleting: " & $sPath & @CRLF) ;easy to see what's happening.
        DirRemove($sPath,1) ;added the recursion parameter
    Next
Next

Nice work ;) that definitely looks cleaner and easier to put in code then my longer version. Thats why I love this board, always have someone that can compress it haha. Oh and the "1 - 9" was just to put in something since the folders I have it deleting from are peoples names. Oh and I did forget a "\" when I edited it to post on here :) good eye.

Share this post


Link to post
Share on other sites

In that case the multiple DirRemoves make more sense. But I'd still try to use a loop like this:

Local $nYear = @YEAR
Local $nMonth = @MON -2
Local $sNames = "NameA|NameB|NameC|NameD" ;etc...
Local $aNames = StringSplit($sNames,"|",2)

If $nMonth < 1 Then
    $nYear -= 1
    $nMonth += 12
EndIf

For $sName In $aNames ;this is to create the prefix "D:\NameA - D:\NameD"
    For $nDay = 1 To 31 ;this will loop through day 1 to 31 (I'm lazy like you)
    Local $sPath = "D:\" & $sName & "\" & $nMonth & "-" & $nDay & "-" & $nYear ;isn't there supposed to be a "\" between $nPath and $nMonth? It wasn't in your original script.
    ConsoleWrite("Deleting: " & $sPath & @CRLF) ;easy to see what's happening.
    DirRemove($sPath,1) ;added the recursion parameter
    Next
Next

Share this post


Link to post
Share on other sites

.. For $nDay = 1 To 31 ;this will loop through day 1 to 31 (I'm lazy like you)

..

_DateDaysInMonth

HTH, Reinhard

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0