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

Alle Fragen rund Antworten rund um die ACMP Client Commands und Container
Antworten
SRH
Beiträge: 16
Registriert: Fr Nov 14, 2014 12:35 pm

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
Benutzeravatar
JDoering
Beiträge: 89
Registriert: Mo Dez 15, 2008 3:45 pm

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,
Jens Döring
Senior IT Support Engineer

support@aagon.com
http://www.aagon.de

Aagon GmbH
Lange Wende 33
D-59494 Soest
fon: +49-2921-789-200
fax: +49-2921-789-244
SRH
Beiträge: 16
Registriert: Fr Nov 14, 2014 12:35 pm

Läuft gut, vielen Dank.
Antworten