1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Dateien automatisch nach Erstellungsdatum löschen

Discussion in 'Programmieren' started by mikesabrina, Apr 26, 2005.

Thread Status:
Not open for further replies.
  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

    was willst du zahlen für das Programm ;-)

    Ich kenn bisher kein Programm das dies macht...
     
  3. 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

    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

    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

    Hallo UKW,

    das Script ist klasse. Ghet das auch mit Unterordnern?
     
Thread Status:
Not open for further replies.

Share This Page