kyna-on
Goto Top

TXT via CMD automatisch löschen

Moin Moin,

gestern habe ich über eine Batch Datei in einem Ordner alle .txt Dateien löschen lassen die älter als 1 Tag sind.
Der Manuelle Test und die erste Automatik funktionierte einwandfrei.

Nun lief der Server über Nacht durch und die Automatik gibt mir als Rückmeldung "Succeded" an obwohl alle .txt Dateien noch im Ordner sind.
Die erstellte Batchdatei kann ich manuell ausführen jedoch funktioniert diese nun nicht mehr.

Hat jemand eine Idee wie man das am besten lösen kann?

Inhalt der Batch: forfiles /p "Pfad" /s /m *.txt /d -1 /c "cmd /c del @path" // beim Pfad ist das Verzeichnis hinterlegt
Die Automatik führe ich über das Tool von NinjaRMM durch.

Vielen Dank schon mal im vorraus.

Verbesserungen zur Batchdatei nehme ich auch gerne an.

Mit freundlichen Grüßen
Fabian Schlinke

Content-ID: 727392298

Url: https://administrator.de/forum/txt-via-cmd-automatisch-loeschen-727392298.html

Ausgedruckt am: 22.12.2024 um 21:12 Uhr

PeterPanter
PeterPanter 18.06.2021 aktualisiert um 08:57:19 Uhr
Goto Top
Moin Fabian,

sieht alles richtig aus. Wann ist denn bei dir "über Nacht"? Vor oder nach 0:00 Uhr? Gibts im Pfad noch TXTs, die älter als einen Tag sind? Berechtigungen (zum löschen) geprüft?

"... jedoch funktioniert diese nun nicht mehr..." Fehlermeldung?


/pp
em-pie
em-pie 18.06.2021 aktualisiert um 09:17:23 Uhr
Goto Top
Moin,

wenn es manuell funktioniert, aber per Job nicht:
  • Wer führt den geplanten Task aus?
  • Hat der User auch Rechte auf das Verzeichnis?
  • <Edit> Der Task wird auch ausgeführt, wenn der User nicht angemeldet ist?

Erweitere deine Batch mal auf
forfiles /p "Pfad" /s /m *.txt /d -1 /c "cmd /c del @path" >>c:\myScripts\deleteFiles.log  
und schaue, was dann darin steht

Gruß
em-pie
KYNA-ON
KYNA-ON 18.06.2021 um 09:15:47 Uhr
Goto Top
Danke für die Schnelle Antwort.

Der Dienst wird automatisch um 02:00 Nachts durchgeführt. In dem Pfad gibt es noch TXTs die vom 17.06.2021 sind welche nicht entfernt werden. Gelöscht wird es durch den Administrator. Händisch kann ich die Dateien löschen, lediglich der Befehl macht nichts.

Es gibt auch keine Meldung oder eine Ansicht.
KYNA-ON
KYNA-ON 18.06.2021 um 09:17:37 Uhr
Goto Top
Hallo,
danke auch für deine schnelle Rückmeldung.

Ich habe die Batch nun erweitert und habe festgestellt das die Logdatei erzeugt wird allerdings nichts in der Datei steht, wahrscheinlich liegt das daran das keine Datei gelöscht wird.

Ich werde dies nun einmal auf einem anderen System testen ob die Logdatei überhaupt gefüllt wird.

Danke
colinardo
colinardo 18.06.2021 aktualisiert um 10:57:19 Uhr
Goto Top
Servus.
Hat jemand eine Idee wie man das am besten lösen kann?
Alternativ greift man heutzutage gleich zur Powershell,
ls 'D:\Pfad' -File -Filter *.txt -Recurse -Force | ?{$_.LastWriteTime -lt (get-date).AddDays(-1)} | del -Force -verbose  
oder bettet das in eine Batch ein wenn die Software nur Batches oder CMD Commands akzeptiert
powershell -EP Bypass -C "ls 'D:\Pfad' -File -Filter *.txt -Recurse -Force | ?{$_.LastWriteTime -lt (get-date).AddDays(-1)} | del -Force -verbose"  
Grüße Uwe