Dateien automatisch nach Erstellungsdatum löschen

Dieses Thema im Forum "Programmieren" wurde erstellt von mikesabrina, 26. April 2005.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. mikesabrina

    mikesabrina ROM

    Registriert seit:
    26. April 2005
    Beiträge:
    1
    Hallo User,
    ich möchte wissen ob es ein Programm, eine Einstellung in Win2000 oder WinXP gibt mit dem/der ich Dateien nach dem Erstellungsdatum löschen kann? Kurze Erklährung: NC-Maschinenprogramme *.lst* - Dateien werden von Maschinen aus bestimmten Ordnern im Serverpfad nacheinander abgearbeitet. Nach dem Durchlauf sind diese praktisch nutzlos, sollten aber wegen der Nachvollziehbarkeit etwa noch 4Wochen vorhanden sein. Danach lösch ich diese bis jetzt immer täglich aus den Verzeichnissen. Nun, ich habe drei Maschinen, also drei Ordner, pro Maschine etwa 20 Programme täglich. Ziemlich mühsam oder? Es muss doch ne Möglichkeit geben dies zu automatisieren. Bin über jede Hilfe froh.

    Gruß euer Mike.
     
  2. CeNoRiDeR

    CeNoRiDeR Byte

    Registriert seit:
    3. April 2005
    Beiträge:
    46
    was willst du zahlen für das Programm ;-)

    Ich kenn bisher kein Programm das dies macht...
     
  3. christian_3

    christian_3 Byte

    Registriert seit:
    20. Oktober 2004
    Beiträge:
    13
    also ich würde dazu einfach die Suchfunktion verwenden und als Suchkriterium "alle Dateien, die älter als... sind" suchen lassen. Die gefundenen Dateien kannst Du dann direkt markieren und in den Papierkorb befördern.
    Mit einem Programm, das automatisch Dateien ohne Rücksprache löscht, wäre ich eher vorsichtig. Kann man denn ausschließen, dass sich nicht vielleicht doch mal eine wichtige Datei in diese Ordner verirrt?
     
  4. UKW

    UKW Megabyte

    Registriert seit:
    27. August 2003
    Beiträge:
    1.438
    Hallo,

    hier ein Script das dies leisten kann.
    Den Pfad entsprechend anpassen, im moment löscht es alle Dateien im Pfad die älter als 28 Tage sind. Über die Variable "Alter" einstellbar.
    Programmcode in einen Texteditor kopieren und als zum Beispiel:
    delete_old.vbs speichern.

    Üben / Testen des Scripts an einem "Testpfad / Dateien"



    'v1.0*****************************************************
    ' File: Delete_Old.vbs
    ' Autor: UKW
    ' 02.05.2005
    '
    ' Löscht alle Dateien, die seit einem bestimmten Datum
    ' nicht mehr geändert wurden
    '*********************************************************

    Option Explicit

    Dim Pfad, Alter

    Pfad = "c:\Programme\ISS\BlackICE\hosts"

    Alter = 28 ' Dateien, die seit xxx Tagen nicht geändert wurden

    MsgBox AltesLoeschen (Pfad, Alter ), vbOKOnly, "Delete Files (c) by UKW 2005" 'Function Aufruf UND Ergebnisanzeige
    'AltesLoeschen "c:\Programme\ISS\BlackICE\hosts", -1 'Function Aufruf OHNE Ergebnisanzeige
    ' ~~~~~~
    WScript.Quit

    '*********************************************************
    Function AltesLoeschen (Pfad, Alter) ' Anfang
    '*********************************************************
    Dim fso, oFiles, i, Txt
    Alter = FormatDateTime( now() - Alter ,2)
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")

    if not fso.FolderExists( Pfad ) then
    MsgBox UCase(Pfad) & " existiert nicht!", , WScript.ScriptName
    Exit Function
    End If

    AltesLoeschen = "In " & UCase( Pfad ) & " wurden alle vor dem " & Alter & " geänderten Dateien gelöscht." & vbCRLF & vbCRLF
    Set oFiles = fso.GetFolder( Pfad ).Files

    For Each i In oFiles
    if DateDiff("d" , i.DateLastModified, Alter) > 0 then ' vor dem Alter geänderte Dateien

    Txt = i.path ' nach dem Löschen von i.Path ist auch i.Path gelöscht
    AltesLoeschen = AltesLoeschen & i.Name & " " & vbTab & FormatDateTime( i.DateLastModified ,2)

    On Error Resume Next

    fso.DeleteFile i.path, True

    On Error GoTo 0

    If not fso.FileExists( Txt ) Then
    AltesLoeschen = AltesLoeschen & vbCRLF
    Else
    AltesLoeschen = AltesLoeschen & " nicht gelöscht." & vbCRLF
    End if
    End If
    Next

    Set oFiles = nothing
    Set fso = nothing

    End Function ' AltesLoeschen
     
  5. strimsel

    strimsel ROM

    Registriert seit:
    7. Juni 2005
    Beiträge:
    1
    Hy UKW,

    Gibt es das Ding aus Deiner genialen BrainSchmiede ;), auch mit kopier/move Funktion, habe zwar mein Glück probiert läuft aber nicht - die Löschfunktion ist auf jedenfall echt gut, schmall und flink!.

    Traumvision wäre, das Dateien die älter als einen Monat sind, in ein vom Script angelegtes Verzeichnis "\backup\X" (X = MM-JJJJ) verschoben werden.

    Es handelt sich hier aktuell um gerippte Bilddateien die in einen Input Folder Laufen, diesen machen wir bisher manuell einmal monatlich "leer" - kurz Dateien vom Vormonat werden dann in einem Backupverzeichnis mit Unterordener (MM-JJJJ) abgelegt und für ein Jahr aufbewahrt.

    Wäre echt Super, lasse mir den Spaß auch gerne was kosten.

    Gruß
    Oliver
     
  6. einfachf

    einfachf ROM

    Registriert seit:
    17. Januar 2008
    Beiträge:
    1
    Hallo UKW,

    das Script ist klasse. Ghet das auch mit Unterordnern?
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen