Question about deleting files

Is there any other way to delete a file other then using a FSO or the Kill method?

I have a computer that connectes to remote machines, and deletes files out of a specified folder if it is older then 5 days.  Everything works great, except i receive this error about half of the time:

Runtime error: -2147024832  Description: Method '~' of object '~' failed.

I seem to get it on any number of machines (there is 12 machines that i delete from).  I know it is not a hardware issue (bad hard drive, network issues, etc) because i can delete these files manually via windows (also working remotely, connected to the share).  I have my program dumping all information when it encounters this error, so i know which directory it was trying to delete.  Everything is fine, and i cant figure out what is causing this error.

Any ideas on this, or another way to delete files?

I have found information about it being a problem with windows, but only on windows 2000 or less (fixed after win2k SP1).  All of the PCs have the latest SP on them (all running windows 2000 SP4).  So i dont think that is the issue.

Explained in

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Hi kmorris1186,

found this snippet on the web, uses api:

hwnd As Long
wFunc As Long
pFrom As String
       pTo As String
        fFlags As Integer
      fAnyOperationsAborted As Boolean
        hNameMappings As Long
       lpszProgressTitle As String
End Type

Private Declare Function SHFileOperation Lib "shell32.dll"
        Alias  "SHFileOperationA" (lpFileOp As

Private Const FO_DELETE = &H3
Private Const FOF_ALLOWUNDO = &H40
'No user interface will be displayed if an error occurs.
Private Const FOF_NOERRORUI = &H400
Private Const FOF_NOCONFIRMATION = &H10 ' Don't prompt the user.

Function KillToRecycleBin(ByVal strFileToDelete As String, _
Optional ByVal PromptUser As Boolean = False) As Long
    Dim lngFlags As Long
    Dim FileOperation As SHFILEOPSTRUCT
    If Not PromptUser Then lngFlags = lngFlags Or FOF_NOCONFIRMATION
    With FileOperation
        .wFunc = FO_DELETE
        .pFrom = strFileToDelete
        .fFlags = lngFlags
    End With
    ' Returns 0 if no error
     KillToRecycleBin = SHFileOperation(FileOperation)
End Function

To send a file to the recycle bin use:
KillToRecycleBin "C:\TheFileToDelete.txt"

To prompt the user to send a file to the recycle bin use:
KillToRecycleBin "C:\TheFileToDelete.txt", True

kmorris1186Author Commented:
do you think this would delete using the full UNC path?

Like "\\machinename\share\" ?

i will check it out, she what i can get it to do..

Try This

Paste this in the Form General section
Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long

Then call
DeleteFile \\FileName
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

kmorris1186Author Commented:
would that also work with a whole directory?  I am actually deleting images out of folders.  If i delete the images one by one, it is real slow.  If i delete the directory as a whole, it is much faster.
Try this

Public Declare Function RemoveDirectory Lib "kernel32" Alias "RemoveDirectoryA" (ByVal lpPathName As String) As Long

RemoveDirectory \\DirName

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
kmorris1186Author Commented:
oh, didnt think it would be that simple :)

i will give it a try! i am still revamping the whole GUI of my program.  Trying to make it more user friendly.  I will get back to in a day or so once i get to the deleting code section.

Thanks! i will try all 3 ways.

Nobody has any ideas about the "Method '~' of object '~' failed" error do ya?
There is some kind of "purge" alternative to "kill"

look it up in MSDN

kmorris1186Author Commented:
Sorry this is taking em so long.  I havent had much time to finish this project up.

I have added 30 points since i am taking so long.

I havent forgotten. dont worry..
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.