Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
516to520
516to520
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datumsdateien im gleichen Verzeichnis löschen

Datumsdateien im gleichen Verzeichnis löschen
14.11.2004 18:55:47
Peter
Hallo Forum,
wie kann ich alle Dateien löschen, die vor mehr als 2 Tage vom aktuellen Datum gerechnet,
erstellt wurden?
Die Dateien sind alle im Verzeichnis „Sicherungskopie“, und sind folgendermaßen benannt:
Abt1_101104.xls
Abt1_111104.xls
Abt1_121104.xls
Abt1_131104.xls
Abt1_131104.xls
Danke Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsdateien im gleichen Verzeichnis löschen
Ramses
Hallo
Hier gibt es zwei Unklarheiten:
Möchtest du die Dateien löschen, die älter sind als 2 Tage, und damit ist das ERSTELLUNGSDATUM gemeint, dann kannst du das probieren

Sub Delete_2DayOld_Files()
Dim myFSO As Object, myFld As Object, myFldFiles As Object
Dim myFile As Object
Dim i As Long, xDel As Byte
Dim srcFolder As String
'Zu durchsuchender Ordner
srcFolder = "C:\Test\"
'Definition des System Objectes
Set myFSO = CreateObject("scripting.FileSystemObject")
If myFSO.folderexists(srcFolder) = False Then
MsgBox "Der Ordner existiert nicht"
Exit Sub
End If
Set myFld = myFSO.getfolder(srcFolder)
Set myFldFiles = myFld.Files
'Tage ab wann gelöscht werden soll
xDel = 2
For Each myFile In myFldFiles
'Zur Kontrolle Ausgabe im Direktfenster
Debug.Print myFile.Name
'Löscht Dateien die älter sind als "xDel" Tage
If myFile.DateCreated < Now - xDel Then
MsgBox myFile.Name & ": Datei wäre zum löschen"
'Kill myFile
Else
Debug.Print "Nicht zum löschen: " & myFile.Name
End If
Next
End Sub

Wenn du Dateien löschen willst, die im Dateinamen ein Datum haben, das älter ist als 2 Tage, dann sowas

Sub Delete_2DaysOld_Filename_Files()
Dim myFSO As Object, myFld As Object, myFldFiles As Object
Dim myFile As Object
Dim xDel As Byte
Dim srcFolder As String
Dim timeInt As Integer
'Zu durchsuchender Ordner
srcFolder = "C:\Test\"
'Definition des System Objectes
Set myFSO = CreateObject("scripting.FileSystemObject")
If myFSO.folderexists(srcFolder) = False Then
MsgBox "Der Ordner existiert nicht"
Exit Sub
End If
Set myFld = myFSO.getfolder(srcFolder)
Set myFldFiles = myFld.Files
'Tage ab wann gelöscht werden soll
xDel = 2
For Each myFile In myFldFiles
'Zur Kontrolle Ausgabe im Direktfenster
Debug.Print myFile.Name
timeInt = CInt(Left(Right(myFile.Name, 10), 2))
'Löscht Dateien in deren Datum ein Tag vorkommt
'der älter ist als heute - 2 Tage
If timeInt < (Now - (Now - xDel)) Then
Debug.Print "Zu löschen: " & myFile.Name
MsgBox myFile.Name & ": Datei wäre zum löschen"
'Kill myFile
Else
Debug.Print "Nicht zum löschen: " & myFile.Name
End If
Next
End Sub

Das Hochkomma " ' " vor "Kill myFile" muss entfernt werden, um das Makro "scharf" zu machen.
Gruss Rainer
Anzeige
AW: -Vielen Dank! Dateien löschen
Peter
Danke Rainer,
für beide Lösungswege. Jetzt muß ich mir das erstmal in Ruhe anschauen
um die Sache zu verstehen.
einen schönen Abend noch
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige