Batch Datei
Hallo
Es geht um eine Batchdatei welche die ältesten Verzeichnisse löschen soll. Laufen wird sie auf einem Windows 2003 Server
Mit Dateien funktioniert es aber bei gesamten Verzeichnissen/Ordnern geht es nicht.
Es sollte eigentlich mit folgendem forfiles Befehl funktionieren.
forfiles /p c:\ /s /m*.* /c"cmd /c if @isdir==true echo @file ist ein Verzeichnis"
(Verzeichnisse auflisten)
Wir haben damit auch rumgespielt und ausprobiert aber funktionierte nie.
Es muss kein forfiles Befehl sein, gerne auch andere Lösungen (mdir fiel mir noch ein, klappte aber auch net)
Batch Datei ist allerdings Pflicht.
Die Datei muss immer die ältesten Verzeichnisse von Aufzeichnungen der Sicherheitskameras jeden Tag/Woche auf dem Server löschen da diese sehr viel Speicherplatz einnehmen.
Danke und Gruß
Christian
Antwort schreiben
Antwort 1 von Arno_Nym vom 14.05.2019, 12:49 Options
Welche forfiles-Version nutzt du?
Bei meiner (FORFILES v 1.1 - emmanubo@microsoft.com - 4/98)
muß ich die Parameter mit "-" statt "/" trennen, also
forfiles -pc:\ -s -m*.* -c"CMD /C if @ISDIR==TRUE echo @FILE ist ein Verzeichnis"
Arno
Antwort 2 von MFBB vom 14.05.2019, 13:06 Options
Danke damit komm ich schon weiter.
Noch ein Leerzeichen bei der Suchmaske -m *.* und er der Befehlt wird akzeptiert. Er führt ihn auch aus, es tut sich aber nichts.
Er springt in die leere Zeile darunter und ich muss dann mit STRG+C abbrechen
o_0
Oh man und das ist ja noch nicht einmal der schwierige Teil ;)
Denke schwieriger wird es rauszufiltern welche Verzeichnisse er löschen soll
Was für eine Version von forfiles???
Ich gehe einfach über "cmd" in die Eingabeaufforderung, benutze kein Tool.
Antwort 3 von Arno_Nym vom 14.05.2019, 14:16 Options
Zitat:
Ich gehe einfach über "cmd" in die Eingabeaufforderung, benutze kein Tool.
Tu ich ich auch ;o)
Jedenfalls rufst du da die "forfiles.exe" auf. Auch wenn dir das nicht direkt bewußt sein sollte ;o)
Wenn du mal
forfiles|more
aufrufst dann siehst du in der erstem Ausgabezeile die Versionsangabe.
Was ich nicht verstehe, ist deine Bemerkung über das Leerzeichen mach Parameter -m. Bei mir funktioniert die Suchmaske definitiv nur
ohne Leerzeichen (wie bei allen anderen Parametern dieses Befehls), also -m*.*
Arno
Antwort 4 von MFBB vom 14.05.2019, 14:51 Options
forfiles|more funktioniert nicht
Der Befehl sieht eigentlich so aus
forfiles /p c:\ /s /m*.* /c"cmd /c if @isdir==true echo @file ist ein Verzeichnis"
Klappt nicht
Was jetzt ausgeführt wird/wobei aber wie erwähnt nix passiert und ich mit STRG+C abbrechen muss ist
forfiles -p c:\ -s -m *.* -c "cmd -c if @isdir==true echo @file ist ein Verzeichnis"
hinter -m und -c ein Leerzeichen, weil er meldet "ungültiges Argument -m*.* -c"cmd
forfiles scheint wohl nicht zu funktionieren
rmdir -s -q pfad
funktioniert auch nicht... da lässt er trotz -q die Abfrage ob es gelöscht werden soll nicht weg und J/N akzeptiert er auch nicht als Antwort
Ich poste hier über nen Windows Vista Testrechner und habs daher eben auch unter Vista versucht, funktioniert auch nicht.
Fällt dir vlt sonst ne Möglichkeit ein?
Ich bin GAME OVER, hatte das schon DO/FR versucht und Chef hats übers Weekend auch nicht hinbekommen
Antwort 5 von vso vom 14.05.2019, 16:09 Options
Hallo,
wie ist denn "älteste Verzeichnisse" definiert?
Wann das Verzeichnis angelegt wurde oder wann die letzte Änderung daran war?
Wieviele Ebenen?
Geht es mehr darum, die Verzeichnisse zu ermitteln oder um die Automatisierung?
Gruß,
Volker
Antwort 6 von MFBB vom 15.05.2019, 08:33 Options
Hallo
Verzeichnisse die älter als 5 Tage sind, in den Unterverzeichnissen gibt es nichts mehr (dort sind nur Dateien drinnen, also 1 Ebene)
Es geht um die Automatisierung.
Wie gesagt erstellen die Kameras jeden Tag Verzeichnisse auf dem Server wo die Daten (Bilder/kleine Videos) abgelegt werden. Da dies sehr viel Speicherplatz einnimmt sollen die Verzeichnisse per Batch Datei "gereinigt" werden. So das hier niemand immer alles durchgehen und löschen muss.
Also quasi
Suche Verzeichnisse die älter als 5 Tage sind in Pfad blabla
Lösche diese
bzw
Wenn Verzeichnis in Pfad blabla älter als 5 Tag ist, dann löschen