willers
Goto Top

Batchdatei zum löschen von Dateien älter als...

Hallo zusammen,

ich weiß das das Thema schon duzent mal behandelt worden ist aber aus all den Beiträgen finde ich nichts für mein Problem.

Ich möchte von einem Server aus auf einem Netzlaufwerk in einem Ordner alle Dateien und Ordner löschen die älter als 5 Tage sind.
Hierbei sollte das Datum der Erstellung bzw. der letzten Änderung herangezogen werden. Am liebsten wäre mir das ganze wie gesagt als Batchdatei.


kann mir da jemand weiterhelfen ?


MfG

B.Willers
Kommentar vom Moderator Biber am 10.08.2010 um 16:28:55 Uhr
Ich verschieb den beitrag mal von "Windows-weiss-nich-genau" nach "Batch & Shell".

Falls dann auf DelAge32 oder WasFile.exe von Horst.S. verwiesen wird -> die zähle ich eigentlich zu den Batch-Hilfstools.

Content-ID: 148726

Url: https://administrator.de/forum/batchdatei-zum-loeschen-von-dateien-aelter-als-148726.html

Ausgedruckt am: 02.02.2025 um 20:02 Uhr

Dirmhirn
Dirmhirn 10.08.2010 um 16:04:05 Uhr
Goto Top
Hi!

delage32, teste ich grad lokal bei mir, und bis jetzt läufts ganz gut. Du kannst dateien löschen oder verschieben (hier werden aber keine Ordner gelöscht).
http://home.mnet-online.de/horst.muc/wbat32d.htm

sg Dirm
Willers
Willers 10.08.2010 um 16:08:25 Uhr
Goto Top
ich muss leider auch Ordner löschen.

aber trotzdem danke für deinen Tip
bastla
bastla 10.08.2010 um 16:13:18 Uhr
Goto Top
(hier werden aber keine Ordner gelöscht)
... wäre zu relativieren: mit "/rd" werden leere Ordner gelöscht ...

Grüße
bastla
Biber
Biber 10.08.2010 um 16:25:39 Uhr
Goto Top
[OT]
Moin Willers,

Zitat von @Willers:
ich weiß das das Thema schon duzent mal behandelt worden ist
Ja, hätten wir es denn siezen sollen?
Wir duzen jeden hier im Forum...
[/OT]
Dirmhirn
Dirmhirn 10.08.2010 um 16:53:37 Uhr
Goto Top
Zitat von @Willers:
ich muss leider auch Ordner löschen.

aber trotzdem danke für deinen Tip

war nur aufs verschieben bezogen - aber ev. gilts überhaupt nur fürs simulieren, schaus dir einfach mal an.

sg Dirm
bastla
bastla 10.08.2010, aktualisiert am 18.10.2012 um 18:43:05 Uhr
Goto Top
Hallo Willers!

Eine angepasste (aber weitgehend ungetestete) Version des immer wieder mal zitierten VBScripts "DelOldScrap.vbs" von diesem Thread) könnte so aussehen:
' DelOldScrap.vbs <BelowFolder> <AgeInDays>  
Set myArguments = WScript.Arguments
If myArguments.Count <> 2 Then    
	Usage
    Wscript.Quit (1)
End if

Heute = FormatDateTime(Date, 2)
OldDate = DateAdd("d","-" & myArguments(1), Heute)  

Set objFS = CreateObject("Scripting.FilesystemObject")  
Base = myArguments(0)
If objFS.FolderExists(Base) Then
    DoFolder objFS.GetFolder(Base)
Else
    Usage
End If
MsgBox "Fertig."  

Sub DoFolder(Folder)
For Each File In Folder.Files
    'für "Erstellungsdatum" anstelle von "DateLastModified" "DateCreated" verwenden  
    If File.DateLastModified < OldDate Then File.Delete 
Next

For Each SubFolder In Folder.SubFolders
    'für "Erstellungsdatum" anstelle von "DateLastModified" "DateCreated" verwenden  
    If SubFolder.DateLastModified < OldDate Then
        WScript.Echo SubFolder.Delete
    Else
        DoFolder SubFolder
        If (SubFolder.SubFolders.Count + SubFolder.Files.Count) = 0 Then SubFolder.Delete 'leere Unterordner löschen  
    End If
Next
End Sub

Sub Usage
MsgBox "Usage: " & WScript.ScriptName & " StartPfad TageAnzahl", vbExclamation, "Argumente überprüfen ..."  
End Sub
Grüße
bastla
Willers
Willers 10.08.2010 um 17:37:29 Uhr
Goto Top
delage32 funktioniert super mit /rd

danke für die Infos

bis zum nächsten mal