Avatar billede slapstick Nybegynder
17. december 2003 - 11:22 Der er 5 kommentarer og
1 løsning

sletning af filer i mappe og undermapper

jeg har en ftp server der modtager logfiler fra nogle terminaler
de uploader logfilerne til hver sin mappe
de mapper blir der så lavet backup af hver dag på et bestemt tidspunkt
så ku jeg godt tænke mig at slette alle de logfiler der ligger i ftp mapperne
så det jeg vil er en slags rekursiv filsletning
hvor jeg sletter alle filerne i en mappe og den mappes undermapper
nogen der har en god ide til hvordan og hvorledes?
Avatar billede martin_moth Mester
17. december 2003 - 11:51 #1
Et skud fra hoften (rekursiv filkopieringsrutine omskrevet til at slette i stedet for at kopiere)

Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
DeleteFile ".txt", fso.GetFolder("c:\temp")


Private Sub DeleteFile(pattern As String, folder As Scripting.folder)
Dim tmpFolder As Scripting.folder
Dim tmpFile As Scripting.File
  If folder.SubFolders.Count > 0 Then
    For Each tmpFolder In folder.SubFolders
      DeleteFile pattern, tmpFolder
    Next
  End If
  If folder.Files.Count > 0 Then
    For Each tmpFile In folder.Files
      If lcase(right(tmpFile.Name,4)) = lcase(pattern) Then
        tmpfile.delete
      End If
    Next
  End If
End Sub
Avatar billede slapstick Nybegynder
23. december 2003 - 10:56 #2
hmm der sker ik rigtig så meget synes jeg heheh
min kode ser sådan her ud:


Private Sub Command1_Click()
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
Call DeleteFile(fso.GetFolder("c:\a"))

End Sub






Private Sub DeleteFile(folder As Scripting.folder)

Dim tmpFolder As Scripting.folder
Dim tmpFile As Scripting.File
  If folder.SubFolders.Count > 0 Then
    For Each tmpFolder In folder.SubFolders
      DeleteFile tmpFolder
    Next
  End If
  If folder.Files.Count > 0 Then
    For Each tmpFile In folder.Files
      If LCase(Right(tmpFile.Name, 4)) = LCase(pattern) Then
        Label1.Caption = tmpFile.Name
        tmpFile.Delete
       
      End If
    Next
  End If
End Sub
Avatar billede martin_moth Mester
23. december 2003 - 11:54 #3
Hvad mener du - kommer der fejl, bliver ingen filer slettet, hvad?
Avatar billede martin_moth Mester
23. december 2003 - 12:56 #4
Den kode jeg har givet dig virker perfekt på min PC - du må have lavet ged i den når du har omskrevet den...
Avatar billede martin_moth Mester
23. december 2003 - 12:59 #5
Hvorfor i alverden har du omskrevet funktionen til kun at modtage en parameter (du har udeladt pattern), men du bruger STADIG pattern inde i funktionen.
Avatar billede slapstick Nybegynder
23. december 2003 - 18:54 #6
eh ja det er vist min fejl doh sorry det virker nu :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester