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

Ergebnis 1 bis 7 von 7

Thema: Files löschen älter als 30 tage mit VB Script

  1. #1
    Registriert seit
    08.08.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    möchte in einem Verzeichnis alle Dateien löschen die älter als z.b. 30 tage
    sind.Ich benutze VB script unter WinCe.Mir fallen da im Moment nur sehr aufwendige Lösungen ein.Gibts da nicht einen einfachen Befehl(e)?
    Dank Euch!
    Zitieren Zitieren Files löschen älter als 30 tage mit VB Script  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    geklaut

    Code:
    *
    Sub Main()
        Dim iTage As Integer
        'wieviele Tage die Datei alt sein muss
        iTage = 30
        LoescheDateien iTage
    End Sub
    
    
    Private Sub LoescheDateien(ByVal Tage As Integer)
        'Diese Routine löscht alle Text-Dateien die sich
        'im aktuellen Programmverzeichnis befinden und älter
        'als x Tage sind
        'Parameter: Tage    wieviele Tage die Datei alt sein muss
        
        Dim FSO As Object
        Dim Datei As File
        Dim Dateien As Files
        Dim Ordner As Folder
        Dim sDateiName As String
        Dim sPfad As String
        Dim DateiDatum As Date
    
        Set FSO = CreateObject("Scripting.FileSystemObject")
        'zum aktuellen Datum Tage addieren
        DateiDatum = DateAdd("D", -Tage, Format(Now, "dd.mm.yyyy"))
        sPfad = App.Path
        'Ordner festlegen
        Set Ordner = FSO.GetFolder(sPfad)
        Set Dateien = Ordner.Files
        'Pfad ohne Backslash am Ende formatieren
        If Right(sPfad, 1) = "\" Then sPfad = Left(sPfad, Len(sPfad) - 1)
        'Dateien im aktuellen Programmverzeichnis durchlaufen
        For Each Datei In Dateien
            'Dateipfad zusammensetzen
            sDateiName = sPfad + "\" + Datei.Name
            'nach Text-Dateien filtern
            If UCase(FSO.GetExtensionName(sDateiName)) = "TXT" Then
                'Dateien älter als Tage löschen
                If DateDiff("d", FileDateTime(sDateiName), Now) > Tage Then
                    'löschen erzwingen
                    FSO.DeleteFile sDateiName, True
                End If
            End If
        Next
        'Objekte zerstören
        Set Ordner = Nothing
        Set Dateien = Nothing
        Set FSO = Nothing
    End Sub
    Geändert von vierlagig (01.05.2008 um 09:57 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    spsbändiger ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.08.2006
    Beiträge
    20
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja,danke für deine Mühe!
    Der Haken an der Sache ist nur das,das ja auf Win CE laufen soll!
    Leider werden die von dir aufgezeigten Operationen da nicht unterstützt.
    Soweit war ich nämlich auch schon.

  4. #4
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von spsbändiger Beitrag anzeigen
    Leider werden die von dir aufgezeigten Operationen da nicht unterstützt.
    hab kein CE zur Hand, welche Operationen werden denn nicht unterstützt?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    Standard

    Hallo zusammen,

    ich habe genau das selbe vor, wie spsbändiger. Will auf einem TP700 alte csv Dateien automatisch löschen.
    Hab auch den Beitrag von Volker schon durch, aber komme da mit meinem Skript nicht recht voran.
    Bin soweit, dass ich eine einzelne Datei mit "kill" ablösche...

    http://www.sps-forum.de/faq/15348-pr...vb-script.html

    Ich hoffe mir kann jemand helfen

  6. #6
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Code:
    'WinCE: alle csv-Dateien löschen, welche älter als 30 Tage sind
    '(es wird nicht geprüft, ob ein Directory-Eintrag ein Ordner ist!)
    Dim fso, file, killDate
    
    killDate = DateAdd("d", -30, Date)             'Stichdatum: Datum 30 Tage vor heute
    
    Set fso = CreateObject("FileCtl.FileSystem")
    
    file = fso.Dir("\Storage Card\*.csv")
    Do While file <> ""                            'wenn mindestens 1 Datei gefunden
        If fso.FileDateTime(file) < killDate Then  'und Dateizeitstempel älter als Stichdatum
           fso.Kill file                           'dann Datei löschen
        End If
        file = fso.Dir()                           'weitere Datei vorhanden?
    Loop
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren WinCE: alte csv-Dateien löschen  

Ähnliche Themen

  1. Zeitumwandlung in Tage
    Von biGPack im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 31.01.2011, 17:21
  2. .RSS Files öffnen (Allen Bradley)
    Von jorgegeovanny im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 28.09.2009, 07:37
  3. WinCC V6: ODK Hilfe-Files
    Von Ligatschow im Forum HMI
    Antworten: 0
    Letzter Beitrag: 05.06.2007, 09:38
  4. Datenblatt CPU 315-2DP (älter...)
    Von knabi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.05.2007, 11:38
  5. [Suche] Tool Textsearch in Files UNICODE
    Von Kurt im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 13.10.2005, 09:02

Lesezeichen

Berechtigungen

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