Verzeichnisse löschen, welche älter als 12 Stunden sind
Hallo an alle
ich suche ein kleines Windows Batch, welche alle Verzeichnisse löscht, welche älter als 12 h sind.
Für Dateien und Veriechnisse, wleche älter asl x tage sind habe ich genügend Lösungen, aber bene nicht für Verzeichnisse.
Vieln Dank & viele Grüße
Fahrrad
ich suche ein kleines Windows Batch, welche alle Verzeichnisse löscht, welche älter als 12 h sind.
Für Dateien und Veriechnisse, wleche älter asl x tage sind habe ich genügend Lösungen, aber bene nicht für Verzeichnisse.
Vieln Dank & viele Grüße
Fahrrad
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169326
Url: https://administrator.de/contentid/169326
Ausgedruckt am: 23.11.2024 um 16:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo Fahrrad,
wegen der schon oft diskutierten Probleme mit der Rechnerei mit Datumswerten in Batch schlage ich eine VBScript-Lösung vor:
Das Script löscht in dieser Form auch Verzeichnisse mit schreibgeschützten Dateien.
Die Zeitdifferenz wird mit der Funktion
Gruß
Friemler
wegen der schon oft diskutierten Probleme mit der Rechnerei mit Datumswerten in Batch schlage ich eine VBScript-Lösung vor:
If WScript.Arguments.Count > 0 Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(WScript.Arguments(0)) Then
For Each objFolder In objFSO.GetFolder(WScript.Arguments(0)).SubFolders
If DateDiff("h", objFolder.DateCreated, Now) > 12 Then objFolder.Delete(True)
Next
Else
WScript.Echo "Verzeichnis nicht gefunden."
End If
Else
WScript.Echo "Bitte ein Verzeichnis angeben."
End If
Das Script löscht in dieser Form auch Verzeichnisse mit schreibgeschützten Dateien.
Die Zeitdifferenz wird mit der Funktion
DateDiff
wegen dem Parameter "h"
in Stunden ausgerechnet. DateDiff
arbeitet unabhängig vom eingestellten Datumsformat und den Ländereinstellungen von Windows.Gruß
Friemler
Hallo Fahrrad!
Beim Aufruf des Scripts (das bei einem oberflächlichen Test bei mir funktioniert hat) ist der Ordner, dessen Unterordner gelöscht werden sollen, zu übergeben - es könnte also einfach mit
aufgerufen werden, wenn es die Unterordner des aktuellen Ordners bearbeiten soll ...
Übrigens: Bei Deiner Batchzeile oben würden wegen der fehlenden Anführungszeichen um "%%A" herum Ordner mit Leerzeichen im Namen durch den Rost fallen ...
Grüße
bastla
Beim Aufruf des Scripts (das bei einem oberflächlichen Test bei mir funktioniert hat) ist der Ordner, dessen Unterordner gelöscht werden sollen, zu übergeben - es könnte also einfach mit
CScript //NoLogo RD12h.vbs .
Übrigens: Bei Deiner Batchzeile oben würden wegen der fehlenden Anführungszeichen um "%%A" herum Ordner mit Leerzeichen im Namen durch den Rost fallen ...
Grüße
bastla