schieby
Goto Top

Batch - Älteste Dateien nach Minuten oder Stunden löschen?

Wie ich Dateien löschen die älter sind als 2 Stunden

Hallo

Ich suche eine Möglichkeit, wie ich z.B. Dateien löschen kann die älter sind als 2 Stunden.

Möglichkeiten Dateien nach Tagen zu löschen ich viele gefunden aber nach Minuten zu Deferenzieren oder Stunden wird schwieriger.

Hat jemand vllt eine Lösung?


gruß
Schieby
Kommentar vom Moderator Biber am 08.03.2010 um 16:04:09 Uhr
aber nach Minuten zu Deferenzieren oder Stunden wird schwieriger.
Glaub ich. Und wenn wir statt dessen erstmal nur nach Minuten differenzieren oder nivellieren...?

Content-ID: 137678

Url: https://administrator.de/contentid/137678

Ausgedruckt am: 26.11.2024 um 14:11 Uhr

45877
45877 08.03.2010 um 15:12:56 Uhr
Goto Top
Hallo,

mit reiner batch wird das glaube ich nicht gut funkionieren,
mit vbs ginge es so

http://blogs.technet.com/heyscriptingguy/archive/2007/12/11/hey-scripti ...
Schieby
Schieby 08.03.2010 um 16:13:21 Uhr
Goto Top
Danke für den Link.

Haben mit Hilfe dessen und noch weiteren Recherchen ein Skript gefunden welches ebenfalls auf anhieb funktioniert.

Mfg
Schieby


'-------------- CleanUp.vbs --------------------
Option Explicit
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
DeleteFiles fso.GetFolder("D:\Test") '<----- Change this folder name to match with your case.
Sub DeleteFiles(srcFolder)
Dim srcFile
If srcFolder.Files.Count = 0 Then
Wscript.Echo "No File to Delete"
Exit Sub
End If
For Each srcFile in srcFolder.Files
If DateDiff("h", Now, srcFile.DateCreated) < -1 Then
fso.DeleteFile srcFile, True
End If
Next
Wscript.Echo "Files Deleted successful"
End Sub
'-----------------------------------------------
Schieby
Schieby 25.03.2010 um 12:02:20 Uhr
Goto Top
Ich hab jetzt noch eine Frage.

Wie kann ich das Script umgestalten, dass es nur bestimmte Dateitypen löscht?

Teste schon lange, komm aber zu keinem Ergebnis:

'-------------- CleanUp.vbs --------------------
Option Explicit
Dim fso, Adresse
Adresse = "D:\test\" & "*" & ".wl"
Set fso = CreateObject("Scripting.FileSystemObject")
DeleteFiles FSO.DeleteFile(Adresse) '<----- Change this folder name to match with your case.
Sub DeleteFiles(srcFolder)
Dim srcFile
If srcFolder.Files.Count = 0 Then
Wscript.Echo "No File to Delete"
Exit Sub
End If
For Each srcFile in srcFolder.Files
If DateDiff("h", Now, srcFile.DateCreated) < -1 Then
fso.DeleteFile srcFile, True
End If
Next
Wscript.Echo "Files Deleted successful"
End Sub
'-----------------------------------------------
Beatzler
Beatzler 25.05.2010 um 12:19:35 Uhr
Goto Top
Hey,

ich suche auch aktuell nach einem skript ( ob in vbs oder Batch egal ) welches z.b. mittels Taskplan alle halbe stunde kurz gestartet wird und dann ein log.txt mit nur einem Zeileninhalt auf den letzten Änderungszeitpunkt prüft. Ist dieses über eine halbe Stunde oder Stunde her dann soll eine weitere Aktion durchgeführt werden z.B. eine BAT gestartet werden etc...

Wäre dies möglich ?

In dem Log.txt wird schon die Zeit mittels %time% geschrieben ... ggf. könnte man das daraus auch auslesen / ableiten ?!


MFG und THX Beatzler
Beatzler
Beatzler 25.05.2010, aktualisiert am 18.10.2012 um 18:42:16 Uhr
Goto Top
Ich glaub ich habe grad was passendes gefunden face-smile

Bedingung in Abhängigkeit vom Alter einer Datei

Werde das mal Testen und hoffe es klappt so wie beschrieben das wäre natürlich genial !!!

Vielen Dank an Bastla mal wieder face-smile

MFG Beatzler