Dateien nach Zeitbereich löschen
Hallo,
ich muss irgendwie Datein Löschen, die Nachts erstellt wurden.
(Datum ist egal, Uhrzeit zwischen 23:00 Uhr und 06:00 Uhr)
Hintergrund:
Zahlreiche WebCams an den Baustellen schieben alle 10 Minuten ein Bild via FTP auf unseren Server.
(Leider gibt es in den Cams keine Zeitsteuerung dazu)
Die Nachtaufnahmen sind alle nicht brauchbar, liegen aber im Ordner und somit auch in jeder Datensicherung.
Da würde ich gerne ab und an eine Batchdatei laufen lassen, die alle Bilder zwischen 23:00 und 06:00 Uhr löscht!
Hat da jemand einen Tipp für mich?
Danke schon mal im voraus.
Gruß, Markus
ich muss irgendwie Datein Löschen, die Nachts erstellt wurden.
(Datum ist egal, Uhrzeit zwischen 23:00 Uhr und 06:00 Uhr)
Hintergrund:
Zahlreiche WebCams an den Baustellen schieben alle 10 Minuten ein Bild via FTP auf unseren Server.
(Leider gibt es in den Cams keine Zeitsteuerung dazu)
Die Nachtaufnahmen sind alle nicht brauchbar, liegen aber im Ordner und somit auch in jeder Datensicherung.
Da würde ich gerne ab und an eine Batchdatei laufen lassen, die alle Bilder zwischen 23:00 und 06:00 Uhr löscht!
Hat da jemand einen Tipp für mich?
Danke schon mal im voraus.
Gruß, Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 248158
Url: https://administrator.de/contentid/248158
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
15 Kommentare
Neuester Kommentar
Servus Markus,
ich realisiere bei mir sowas via batch... Hier ein paar Anregungen:
Dateien per Batch löschen, älter als X Tage
http://www.horstmuc.de/wbat32.htm
Die Suchfunktion schmeisst noch ein paar weitere Treffer aus...
Grüßce Ice
ich realisiere bei mir sowas via batch... Hier ein paar Anregungen:
Dateien per Batch löschen, älter als X Tage
http://www.horstmuc.de/wbat32.htm
Die Suchfunktion schmeisst noch ein paar weitere Treffer aus...
Grüßce Ice
Moin Markus,
oder mit Batch etwa so:
Grüße Uwe
Zitat von @mgrotjans:
die Vorschläge sind ja im Ansatz ganz nett, aber ich möchte ja nicht Dateien löschen die älter als 3 Tage
sind, sondern nur die, die zwischen 23:00 und 06:00 Uhr erstellt wurden.
kein Problem, mit Powershell so:die Vorschläge sind ja im Ansatz ganz nett, aber ich möchte ja nicht Dateien löschen die älter als 3 Tage
sind, sondern nur die, die zwischen 23:00 und 06:00 Uhr erstellt wurden.
gci 'd:\webcam\*.jpg' | ?{$_.CreationTime.Hour -ge 23 -or $_.CreationTime.Hour -lt 6} | remove-item -force
@echo off & setlocal enabledelayedexpansion
set "folderImages=D:\webcam"
for /f "tokens=1,2* delims=^|" %%a in ('forfiles /P "%folderImages%" /s /M *.jpg /c "cmd /c echo @ftime^|@path" 2^>nul') DO @(
set time=%%a
if "!time:~0,1!" == "0" (set /a hours=!time:~1,1!) else (set /a hours=!time:~0,2!)
if !hours! GEQ 23 del %%b
if !hours! LSS 6 del %%b
)
Leider läuft da keines von beiden
laufen hier beide einwandfrei, du musst etwas falsch machen .... Pfad und Dateiextension(*.jpg) must du natürlich anpassen. Die Files müssen sich im angegebenen Ordner und nicht in Unterordnern befinden, wenn du auch Unterordner rekursiv durchlaufen willst, müssen die Scripte geringfügig angepasst werden !Beim Powershell-Script der -recurse Parameter bei gci und beim Batch der Parameter /s im forfiles Befehl.
Die Kollegen können sicher bestätigen das die Scripte laufen, hier tun sie das was sie sollen.
sicher:
gci 'd:\webcam\*.jpg' | ?{$_.LastWriteTime.Hour -ge 23 -or $_.LastWriteTime.Hour -lt 6} | remove-item -force
Hallo Uwe,
VIELEN DANK für Deine Antwort!!!
Ich hänge mal ein Screenshot an. Links die Powershell, rechts der Ordner mit einigen Bildern. nach Ausführung sollten doch alle Bilder nach 17h gelöscht sein... Passiert aber nicht.
Bin leider Anfänger und wahrscheinlich ists ein blöder Syntax- oder Denkfehler.
Gruss
Thomas
VIELEN DANK für Deine Antwort!!!
Ich hänge mal ein Screenshot an. Links die Powershell, rechts der Ordner mit einigen Bildern. nach Ausführung sollten doch alle Bilder nach 17h gelöscht sein... Passiert aber nicht.
Bin leider Anfänger und wahrscheinlich ists ein blöder Syntax- oder Denkfehler.
Gruss
Thomas