There's no reason @error
would return 0 constantly, so a little re-write should fix this. I'd of gone about it in a slightly different way, I'd check that @error
is 0
(our folder exists) and check to make sure the first element of $petrelFolders
is larger than 0 (this first element holds the number of directories found, so if 0, we don't want to loop through) - this gives us:
Func DeleteDirectories($userList)
If $debug = True Then ConsoleWrite(@CR & 'Function: DeleteDirectories')
;_ArrayDisplay($userList)
For $userElement in $userList
; debug ------------------------------------------------------------------------------
ConsoleWrite(@CR & 'Number of user profiles found = ' & $userList[0])
ConsoleWrite(@CR & '$userElement = ' & $userElement)
ConsoleWrite(@CR & 'Debug: C:\Users\' & $userElement & '\AppData\Roaming\schlumberger\Petrel')
; debug ------------------------------------------------------------------------------
Local $petrelFolders = _FileListToArray("C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel", "*", 2)
;ConsoleWrite(@CR & '@error = ' & @error)
;ConsoleWrite(@CR & '$petrelFolders = ' & $petrelFolders)
If @error = 0 And $petrelFolders[0] > 0 Then
For $i = 0 To Ubound($petrelFolders) - 1 Step 1
If $i <> 0 And $petrelFolders[$i] >= Int("2013") Then
ConsoleWrite(@CR & "C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel\" & $petrelFolders[$i] & " will be deleted")
EndIf
Next
EndIf
Next
CreateDirectories($userList)
EndFunc