Seite 1 von 1

Anzahl der Dateien innerhalb eines Ordners & älteste löschen

Verfasst: Di Okt 06, 2015 4:37 pm
von SRH
Hallo,

gibt es eine einfache Variante, um die Anzahl der Dateien innerhalb eines Ordners zu ermitteln? Meine jetzige Lösung sieht so aus, dass ich die Dateien iteriere und mittels einer Variable zähle. Bei vielen Dateien dauert das natürlich unnötig lange, da die Anzahl eigentlich bereits zu Beginn des Iterate-Befehls bekannt ist.
Bei einer bestimmten Überschreitung der Anzahl soll dann die älteste(n) Datei(en) gelöscht werden. Dazu muss ich allerdings entweder wieder iterieren, um die älteste auszulesen oder (so die derzeitige Lösung) ich speicher mir den Dateinamen zu Beginn in einer Variable ab.

Dies erscheint mir aber wenig elegant und suche daher nach einer besseren Möglichkeit.

Viele Grüße

Re: Anzahl der Dateien innerhalb eines Ordners & älteste löschen

Verfasst: Mi Okt 07, 2015 11:54 am
von JDoering
Hallo SRH,

mit einem Custom VB Script ist dies ebefalls möglich.

Code: Alles auswählen

Sub RunMain
  ' When using interactive instructions, the Visual
  ' Basic script has to be impersonated as user.
  ' WScript.Echo("Hello World")

  ' ACMP Variable handling


  Dim objFSO
  Dim objOrdner

  strPfad = GetVarContent("Pfad")
  

  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objOrdner = objFSO.GetFolder(strPfad)

  'Anzahl Dateien
  AnzDateien = objOrdner.Files.Count

  Set objFSO = Nothing
  Set objOrdner = Nothing


  SetVarContent "Anzahl", AnzDateien

  ' Writing to Log

  ' Returns 0 as script result
  ScriptResult = 0
End Sub 
Dieses VBScript setzt im ClientCommand eine Variable PFAD mit dem Pfad vorraus, sowie eine Variable ANZAHL in der die Dateianzahl zurückgegeben wird.

MfG,

Re: Anzahl der Dateien innerhalb eines Ordners & älteste löschen

Verfasst: Do Okt 08, 2015 8:36 am
von SRH
Läuft gut, vielen Dank.