Jump to content
Sign in to follow this  
Duran

Month File Deleter

Recommended Posts

Duran

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
Tvern

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
Duran

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
Tvern

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
ReFran

.. 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  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.