VBiB/ACCB.net

Algemeen - Bestand verwijderen

christopheVR - 20 sep 2009 - 19:29
Onderwerp: Bestand verwijderen
Hallo ik wil een hele reeks bestanden verwijderen.
Er zijn enkele bestanden die nog in gebruik zijn en dus een foutmelding genereren.

Hoe kan ik dit oplossen, is er eventueel een mannier om dit eerst te controleren.

De bestanden die nog in gebruik zijn moeten niet verwijderd worden , deze moeten eigenlijk overgeslagen worden zonder tussenkomst van de gebruiker
Yannou - 20 sep 2009 - 19:55
Onderwerp: Re: Bestand verwijderen
Uit de losse pols:
Visual Basic code:
  Public Sub DeleteFiles(ByVal Folder As System.IO.DirectoryInfo)

    For Each sFile As System.IO.FileInfo In Folder.GetFiles()
      Try
        sFile.Delete()
      Catch
        ' no error message will be given if delete failed because the file is in use
      End Try
    Next

  End Sub
Groetjes
christopheVR - 22 sep 2009 - 08:16
Onderwerp: Re: Bestand verwijderen
Hallo ,

Ik heb bovenstaande code geprobeerd maar de melding dat het bestand in gebruik is komt nog steeds.

Christophe
Yannou - 22 sep 2009 - 09:44
Onderwerp: Re: Bestand verwijderen
Als je ook niet wil dat er een melding wordt weergegeven, zul je eerst moeten controleren of het bestand in gebruik is (bron):
Visual Basic code:
  Public Sub DeleteFiles(ByVal Folder As System.IO.DirectoryInfo)

    For Each sFile As System.IO.FileInfo In Folder.GetFiles()
      Try
        If Not FileInUse(sFile) Then sFile.Delete()
      Catch
        ' no error message will be given if delete failed because the file is in use
      End Try
    Next

  End Sub

  Public Function FileInUse(ByVal myFile As System.IO.FileInfo) As Boolean

    If myFile.Exists Then
      Try
        Dim F As Integer = FreeFile()
        FileOpen(F, myFile.FullName, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
        FileClose(F)
      Catch
        Return True
      End Try
    End If

  End Function

Groetjes
Tijden zijn in GMT + 1 uur
PNphpBB2 © 2003-2007