Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: Grösse von Dateien auf \flash feststellen

  1. #1
    Registriert seit
    02.08.2016
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bräuchte mal Hilfe bei einem VBScript.

    Auf dem Flashspeicher eines TP700 werden zyklisch Archivdateien erstellt, die bei Anforderung auf einen USB-Stick verschoben werden.

    Ich möchte mit einem weiteren Script die Grösse der Dateien im Ordner "\flash\data" ermitteln um ältere Archive, die nicht
    gezogen wurden, zu löschen (Speicherplatz).

    Hab mir schonmal was zusammengebastelt:

    Code:
    Dim fs,path,i,value
    value = 0
    
    Set fs = CreateObject("FileCtl.FileSystem")
    
    path = fs.Dir("\flash\data")
    
    For i = 1 To 100
        If path = "" Then Exit For
        path = fs.Dir() 
        value = value + fs.FileLen(path)
    Next
    In der Variable "value" bekomme ich aber immer den Wert: 0 zurück.

    Hat vielleicht jemand eine Idee wo der Fehler im code steckt?

    MfG Hoffman
    Zitieren Zitieren Grösse von Dateien auf \flash feststellen  

  2. #2
    DocHoff ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.08.2016
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    So, da isser wieder!

    Hab mal weiter experimentiert:
    Code:
    Dim fs,path,i,value,Arr(100)
    value = 0
    
    i = 0
    
    Set fs = CreateObject("FileCtl.FileSystem")
    
    path = fs.Dir("\flash\data\*")  ' Hier muss scheinbar ein * hin
    
    For i = 1 To 100
        path = fs.Dir 
        Arr(i) = path ' Aktuellen Datennamen pro Durchlauf auslesen
        value = value + fs.FileLen("\flash\data\"+Arr(i))
        If path = "" Then Exit For
    Next
    Das Script zählt die Größe aller Dateien zusammen und gibt mir den Wert aus.
    Das Problem ist jetzt nur, das die oberste Datei im Ordner nicht mitgelesen wird.


    MfG Hoffman
    Geändert von DocHoff (09.08.2016 um 15:45 Uhr)

  3. #3
    Registriert seit
    08.08.2016
    Beiträge
    11
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo Doc,

    mit fs.dir in deiner for-Schleife wählst du zu Beginn schon das zweite Element deiner "dir-Rückgabe". Versuche mal die Änderung im Code unten, damit sollte es gehen.

    Code:
    Dim fs,path,i,value,Arr(100)
    value = 0
    
    i = 0
    
    Set fs = CreateObject("FileCtl.FileSystem")
    
    path = fs.Dir("\flash\data\*")  ' Hier muss scheinbar ein * hin
    
    For i = 1 To 100
        Arr(i) = path ' Aktuellen Datennamen pro Durchlauf auslesen
        value = value + fs.FileLen("\flash\data\"+Arr(i))
        path = fs.Dir
        If path = "" Then Exit For
    Next

  4. #4
    DocHoff ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.08.2016
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin Mardonios,

    danke für Deine Hilfe. Genau das war´s.

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 11.06.2015, 17:21
  2. Antworten: 2
    Letzter Beitrag: 23.06.2010, 11:18
  3. Antworten: 24
    Letzter Beitrag: 16.12.2009, 15:32
  4. S7-Programm auf MC951 / Flash speichern
    Von handyman im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 03.12.2009, 13:28
  5. Antworten: 4
    Letzter Beitrag: 10.09.2005, 04:29

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •