Verwenden Sie forfiles löschen Sie einen Ordner und seinen Inhalt

Ich bin versucht zu reinigen, die ein öffentliches Verzeichnis, so dass, wenn ein Artikel älter als 30 Tage gelöscht werden sollen. Ich habe eine batch-Datei, die setup mit dem folgenden Befehl:

forfiles /p "C:\PATH\USERS\PATH\" /s /m *.* /c "cmd /c Del @path /q" /d -30

Diese funktioniert Super. Aber das Problem ist, dass es löscht nur die Elemente innerhalb der Ordner im Pfad.

Beispiel: C:\PATH\USERS\PATH\HelloWorld\file.text ist über 30 Tage alt. Aber der Befehl löscht nur file.text, nicht den Ordner.

Würde ich überprüfen, um zu sehen, wenn der Ordner leer ist, und löschen Sie dann den Ordner mit dem anderen Befehl?

  • rd um einen Ordner zu entfernen. Es wird nicht entfernen Sie eine nicht-emty-Ordner, es sei denn, Sie geben es eine /s /q
  • Sind Sie wollen, um zu überprüfen, ob der Ordner ist 30 Tage alt? Wenn dem so ist, dann verwenden Sie die @isdir variable zu prüfen, Verzeichnisse und löschen Sie dann das Verzeichnis.
InformationsquelleAutor Wally | 2016-09-07
Schreibe einen Kommentar