Batchdatei soll Datum minus 7 Tage errechnen um ein Verzeichnis zu löschen
Hi,
ich erstelle täglich einen Backup meiner Thunderbird Mailfile und speichere diesen in einem Verzeichnis mit dem aktuellen Datum. So far so good - das funktioniert.
Jetzt möchte ich am liebsten in der gleichen Batchdatei das Verzeichnis mit dem Datum von vor 7 Tagen automatisch löschen.
Kann ich in einer Batchdatei das Datum von letzter Woche errechnen?
Gruß Jack.X
ich erstelle täglich einen Backup meiner Thunderbird Mailfile und speichere diesen in einem Verzeichnis mit dem aktuellen Datum. So far so good - das funktioniert.
Jetzt möchte ich am liebsten in der gleichen Batchdatei das Verzeichnis mit dem Datum von vor 7 Tagen automatisch löschen.
Kann ich in einer Batchdatei das Datum von letzter Woche errechnen?
Gruß Jack.X
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3831465403
Url: https://administrator.de/forum/batchdatei-soll-datum-minus-7-tage-errechnen-um-ein-verzeichnis-zu-loeschen-3831465403.html
Ausgedruckt am: 15.05.2025 um 02:05 Uhr
16 Kommentare
Neuester Kommentar
Servus.
Ja. Siehe z.B. hier: https://www.krakovic.de/windowsbatchdos-aktuelles-datum-uhrzeit-fuer-dat ...
Cheers,
jsysde
Ja. Siehe z.B. hier: https://www.krakovic.de/windowsbatchdos-aktuelles-datum-uhrzeit-fuer-dat ...
Cheers,
jsysde
Moin,
Wäre eine Umstellung auf die Powershell denkbar?
Hier kannst besser/ leichter mit Daten arbeiten.
Fernab der Hinweis: wenn du immer auf Badis der Tage alte Sachen löscht, hast du nach 7 Tagen ohne funktionierendes Backup das Problem, dass du kein Backup mehr hast. Gehe auf Versionen.
Kann man mit der Powershell auch gut lösen.
Gruß
em-pie
Wäre eine Umstellung auf die Powershell denkbar?
Hier kannst besser/ leichter mit Daten arbeiten.
Fernab der Hinweis: wenn du immer auf Badis der Tage alte Sachen löscht, hast du nach 7 Tagen ohne funktionierendes Backup das Problem, dass du kein Backup mehr hast. Gehe auf Versionen.
Kann man mit der Powershell auch gut lösen.
Gruß
em-pie

Moin.
oder mit etwas Powershell-Hilfe
Cheers
certguy
@echo off
forfiles /P "G:\Backups" /D -7 /C "cmd /c if @isdir == TRUE rd /s /q @path"
@echo off
powershell -EP Bypass -C "Get-ChildItem 'G:\backups' -Directory | ?{$_.CreationTime.Date -lt (get-date).AddDays(-7).Date} | Remove-Item -Recurse -Force -Verbose"
certguy
Moin.
Cheers,
jsysde
Zitat von @jack.x:
[...]wenn der Backup aus welchen Gründen auch immer fehlschlägt, merkt man es u.U. erst wenn es zu spät ist.
Dafür gibt es Monitoring-Systeme. Im einfachsten Fall kontrolliert man das täglich selbst. Oder richtet eine E-Mail-Benachrichtigung ein. Oder lässt sich ne Info an seinen präferierten Messenger schicken.[...]wenn der Backup aus welchen Gründen auch immer fehlschlägt, merkt man es u.U. erst wenn es zu spät ist.
Cheers,
jsysde
Moin
Und Monitoring-Lösungen sind sogar flexibler. Anstatt immer einfach die Ordner zu löschen, die älter als 7 Tage sind und es dann zu merken, wenn es zu spät ist, können Monitoring-Lösungen das Skript auch erst bei erfolgreichem Backup ausführen. Sprich: Schlägt das Backup fehl, dann hast du immer noch die letzten 7 Ordner. Ignorierst du das ganze dann 14 Tage (zum Beispiel wg. Urlaub, Krankheit, Faulheit, etc.), dann hast du zwar immer noch kein aktuelles Backup, aber immer noch die letzten 7 Ordner.
Alternativ dazu: Das PS-Skript erweitern, dass die jüngsten 7 Ordner im get-childitem ignoriert werden. Dann behältst du auch immer 7 Ordner und stehst nicht mit leeren Händen da.
Gruß
Doskias
Zitat von @jsysde:
Cheers,
jsysde
Zitat von @jack.x:
[...]wenn der Backup aus welchen Gründen auch immer fehlschlägt, merkt man es u.U. erst wenn es zu spät ist.
Dafür gibt es Monitoring-Systeme. Im einfachsten Fall kontrolliert man das täglich selbst. Oder richtet eine E-Mail-Benachrichtigung ein. Oder lässt sich ne Info an seinen präferierten Messenger schicken.[...]wenn der Backup aus welchen Gründen auch immer fehlschlägt, merkt man es u.U. erst wenn es zu spät ist.
Cheers,
jsysde
Und Monitoring-Lösungen sind sogar flexibler. Anstatt immer einfach die Ordner zu löschen, die älter als 7 Tage sind und es dann zu merken, wenn es zu spät ist, können Monitoring-Lösungen das Skript auch erst bei erfolgreichem Backup ausführen. Sprich: Schlägt das Backup fehl, dann hast du immer noch die letzten 7 Ordner. Ignorierst du das ganze dann 14 Tage (zum Beispiel wg. Urlaub, Krankheit, Faulheit, etc.), dann hast du zwar immer noch kein aktuelles Backup, aber immer noch die letzten 7 Ordner.
Alternativ dazu: Das PS-Skript erweitern, dass die jüngsten 7 Ordner im get-childitem ignoriert werden. Dann behältst du auch immer 7 Ordner und stehst nicht mit leeren Händen da.
Gruß
Doskias
Warum macht ihr euch das so kompliziert, wenn es schon ein fertiges Produkt gibt?
Delage32
Ist zwar schon recht alt, aber es klappt wunderbar.
Delage32
Ist zwar schon recht alt, aber es klappt wunderbar.
Moin
Weil man das Produkt nicht kennt (wie in meinem Fall). Und selbst wenn ich es gekannt hätte: Warum soll ich mir ein Programm / Tool installieren, wenn ich es mit Boardmitteln machen kann? Jedes zusätzliche Programm bringt potentielle Lücken mit sich und muss (je nach Umgebung) zum Einsatz das eine oder andere Genehmigungsverfahren durchlaufen. Entwickele ich die Lösung aber mit Boardmitteln, dann kann man solche langwierige Genehmigungsverfahren umgehen und ist schneller am Ziel.
Also um deine Eingangsfrage zu beantworten:
- Weil man Angst hat der Entwickler könnte was böses versteckt haben
- Weil Genehmigungsverfahren einen schnellen Einsatz verhindern
- Weil auf den Geräten so wenig Fremdsoftware wie möglich verwendet werden soll
- ...
Gruß
Doskias
Zitat von @DerMaddin:
Warum macht ihr euch das so kompliziert, wenn es schon ein fertiges Produkt gibt?
Delage32
Ist zwar schon recht alt, aber es klappt wunderbar.
Warum macht ihr euch das so kompliziert, wenn es schon ein fertiges Produkt gibt?
Delage32
Ist zwar schon recht alt, aber es klappt wunderbar.
Weil man das Produkt nicht kennt (wie in meinem Fall). Und selbst wenn ich es gekannt hätte: Warum soll ich mir ein Programm / Tool installieren, wenn ich es mit Boardmitteln machen kann? Jedes zusätzliche Programm bringt potentielle Lücken mit sich und muss (je nach Umgebung) zum Einsatz das eine oder andere Genehmigungsverfahren durchlaufen. Entwickele ich die Lösung aber mit Boardmitteln, dann kann man solche langwierige Genehmigungsverfahren umgehen und ist schneller am Ziel.
Also um deine Eingangsfrage zu beantworten:
Warum macht ihr euch das so kompliziert, wenn es schon ein fertiges Produkt gibt?
- Weil man das Produkt nicht kennt- Weil man Angst hat der Entwickler könnte was böses versteckt haben
- Weil Genehmigungsverfahren einen schnellen Einsatz verhindern
- Weil auf den Geräten so wenig Fremdsoftware wie möglich verwendet werden soll
- ...
Gruß
Doskias
Zitat von @Doskias:
- Weil man das Produkt nicht kennt
- Weil man Angst hat der Entwickler könnte was böses versteckt haben
- Weil Genehmigungsverfahren einen schnellen Einsatz verhindern
- Weil auf den Geräten so wenig Fremdsoftware wie möglich verwendet werden soll
- ...
- Weil man das Produkt nicht kennt
- Weil man Angst hat der Entwickler könnte was böses versteckt haben
- Weil Genehmigungsverfahren einen schnellen Einsatz verhindern
- Weil auf den Geräten so wenig Fremdsoftware wie möglich verwendet werden soll
- ...
Na aber klar doch, man kann sich das ITler-Leben schwer machen und Paranoia entwickeln. Also alles was nicht Bestandteil eines OS ist, ist erst Mal "böse" und muss geprüft und genehmigt werden bei euch? Auch so etwas banales wie die PsTools z.B.? Ist ja auch nicht von MS direkt und war lange zeit ein eigenes Produkt.
Also alles was nicht Bestandteil eines OS ist, ist erst Mal "böse" und muss geprüft und genehmigt werden bei euch? Auch so etwas banales wie die PsTools z.B.? Ist ja auch nicht von MS direkt und war lange zeit ein eigenes Produkt.
Na klar. In den meisten, nicht ganz winzigen, Firmen wird NICHTS verwendet, was nicht explizit durch die IT-Security freigegeben wurde. Wenn die IT-Abteilung nur eine Person ist, dann muss diese Person das verantworten, aber sicherlich auch prüfen.
Ich installiere kein Tool bei Usern, was nicht vorher geprüft wurde, mindestens ob man es überhaupt kommerziell verwenden darf. Schon alleine weil man sich bei jedem Extratool auch noch um Updates usw. kümmern muss.
Große Firma = Möglichst homogenes System, weil der Verwaltungsaufwand sonst zu groß wird.
Wie gesagt: Ich kannte das von dir genannte Tool nicht und ganz ehrlich: Wir reden hier in diesem Fall, über einen Einzeiler, der jetzt nicht so schwer zu verstehen und zu entwickeln ist. Das was ich aufgelistet habe, waren nur Beispiele, die mir persönlich spontan eingefallen sind.
Ich kenne darüber hinaus einige Firmen (Systemhäuser, Rechenzentren, etc.), die feste Vorgaben haben, was auf einem Server drauf zu sein hat. die PStools gehören dort nicht dazu und jedesmal, wenn sie zur Verfügung gestellt werden sollen, muss ein Änderungsantrag gestellt werden, der dann genehmigt werden muss. Sicher, wenn man das Tool einmalig benötigt, dann wäre das sicher kein Problem, aber wir reden hier von einer dauerhaften Lösung. Und ganz ehrlich: Auf den Antragskram delage32 (oder 64) auf den Server zu packen, wenn es sich mit einem Einzeiler lösen lässt, hätte ich keine Lust
Gruß
Doskias
Na aber klar doch, man kann sich das ITler-Leben schwer machen und Paranoia entwickeln. Also alles was nicht Bestandteil eines OS ist, ist erst Mal "böse" und muss geprüft und genehmigt werden bei euch?
Nicht ganz. Aber alles was nicht Bestandteil eines OS ist, wird sich erstmal genau angeschaut. Ich hoffe das machst du auch, oder lädst du einfach jedes Programm/Skript einfach so runter? Das hat nichts mit Paranoia zu tun, sondern ist ein integraler Bestandteil eines Sicherheitskonzept. Grade als Admin sollte man nicht alles einfach so runterladen.Auch so etwas banales wie die PsTools z.B.? Ist ja auch nicht von MS direkt und war lange zeit ein eigenes Produkt.
Ja auch so etwas banales wie die PSTools werden bzw. wurden bei uns einmal geprüft. Vor allem, weil der Virenscanner PSExec als kritisch angesehen hat und blockierte. Aus sich des Virenscanners völlig in Ordnung, immerhin handelt es sich dabei um ein Programm was im Hintergrund andere Prozesse startet und es wurde schon für die Verbreitung von Viren genutzt. Es wird dennoch nicht blind einfach auf allen Geräten bei uns ausgerollt.Ich kenne darüber hinaus einige Firmen (Systemhäuser, Rechenzentren, etc.), die feste Vorgaben haben, was auf einem Server drauf zu sein hat. die PStools gehören dort nicht dazu und jedesmal, wenn sie zur Verfügung gestellt werden sollen, muss ein Änderungsantrag gestellt werden, der dann genehmigt werden muss. Sicher, wenn man das Tool einmalig benötigt, dann wäre das sicher kein Problem, aber wir reden hier von einer dauerhaften Lösung. Und ganz ehrlich: Auf den Antragskram delage32 (oder 64) auf den Server zu packen, wenn es sich mit einem Einzeiler lösen lässt, hätte ich keine Lust
Gruß
Doskias
Ich arbeite in der IT schon ein paar Tage, daher sind mir viele "Helferlein-Tools" bekannt und bedarf keiner extra Prüfung durch mich oder andere. Meine Erfahrung und Expertise reichen aus, um zu bewerten, ob etwas in der IT (hier explizit nur IT-Abteilung) eingesetzt werden kann oder nicht.
Solche Freigabe-Prozesse sind mir aber auch bekannt aber in der Regel wird dass schnell in der IT entschieden, es sei denn es ist eine kommerzielle Lizenz nötig.
Und ja, es gibt auch ITler, wie mich, die keine Skript-Gurus sind und nicht dann tage- und wochenlang nach Lösungen mit Batch, PowerShell etc. suchen möchten.
Regeln und Richtlinien können nicht nur gut sein sondern auch unnötig etwas in die Länge ziehen, teuer oder auch unmöglich machen
@Drohnald: von einem Tool für alle User war hier keine Rede
Solche Freigabe-Prozesse sind mir aber auch bekannt aber in der Regel wird dass schnell in der IT entschieden, es sei denn es ist eine kommerzielle Lizenz nötig.
Und ja, es gibt auch ITler, wie mich, die keine Skript-Gurus sind und nicht dann tage- und wochenlang nach Lösungen mit Batch, PowerShell etc. suchen möchten.
Regeln und Richtlinien können nicht nur gut sein sondern auch unnötig etwas in die Länge ziehen, teuer oder auch unmöglich machen
@Drohnald: von einem Tool für alle User war hier keine Rede