Zum Inhalt springen

Dateien löschen in VB


ygeli

Empfohlene Beiträge

Hallo Leute,

hab ein kleines Problem mit VB. Komm einfach nicht mehr weiter.

Könnt ihr mir helfen????

Mein erstellter Syntax:

Private Sub Form_Load()

Dim dat As Date

Dim tage As Date

Dim Zeitangabe

dat = Date

tage = DateAdd("D",-2,dat)

Zeitangabe = Format(FileDateTime("*.txt,"), "DD.MM.YY")

Open "./*.txt" For Input As #1

Do While Not EOF(1)

If (Zeitangabe < tage) Then

Kill "*.txt"

End If

Loop

Close #1

End Sub

Dieser Quellcode sollte mir es ermöglichen, Dateien im gleichen Verzeichnis wie die batch-Datei, die älter 2 Tage sind zu löschen. Ich will diesen Quellcode in eine batch-Datei einbinden, so dass ich bei doppelklick auf die batch-Datei das Programm über VB ausführen lassen kann.

Doch das Ding will nicht!!!:confused:

Hat jemand vielleicht eine Idee???

Wäre nett, wenn mir jemand weiterhelfen könnte. Vielleicht mit den jeweiligen Korrekturen meines Quellcodes.:mod:

Ein dickes Dankeschön im voraus.:uli

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von ygeli

Private Sub Form_Load()

Dim dat As Date

Dim tage As Date

Dim Zeitangabe

dat = Date

tage = DateAdd("D",-2,dat)

Zeitangabe = Format(FileDateTime("*.txt,"[\color]), "DD.MM.YY")

Open "./*.txt" For Input As #1[\color]

Do While Not EOF(1)

If (Zeitangabe < tage) Then

Kill "*.txt"

End If

Loop

Close #1

End Sub

Also vielleicht kann ich dir helfen... aber erstmal musst du mir erklären warum du da oben *.txt reinschreibst (das , hinter *.txt könnte falsch sein)... woher soll VB denn wissen welche Datei du damit meinst.

Und wieso hast du bei dem Open ein ./ vor die Datei gesetzt?

Nachtrag: als Anhang an den alten Thread (hier) hätte es auch getan... ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

In jedem Fall musst du in einer Schleife für jede Datei im Verzeichniss prüfen, ob sie gelöscht werden soll.

z.B.

dim f as File

dim fold as Folder

fold.path= "c:\......" 'Zu bearbeitender Ordner

for each f in fold

'f.Type prüfen

' f.DateLastModified prüfen

' Gegebenenfalls Dateinamen in eine Liste mit zu löschenden Dateien

next

'Alle Dateien in der Liste löschen.

Der Umweg über die Liste deshalb, weil das Entfernen eines Mitglieds einer Collection, während man diese Collection mit foreach durchläuft, unsicher ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen



Const KILLDAYS = 2

Const KILLTYP = "*.txt"

Const KILLDEBUG = True


Sub Main()

 Call runKiller(App.Path)

End Sub


Private Sub runKiller(ByRef strPfad As String)

 Dim strTmpFilename As String


 ' liste der killtyps-files

 strPfad = IIf(Right(strPfad, 1) = "\", strPfad, strPfad + "\")

 strTmpFilename = Dir(strPfad + KILLTYP, 63)

 Do While CBool(Len(strTmpFilename))


   '// datei wird geprüft und ggf. gelöscht

   If proofDate(strTmpFilename) Then

    If KILLDEBUG Then

     MsgBox strPfad + strTmpFilename

    Else

     Call Kill(strPfad + strTmpFilename)

    End If

   End If


   strTmpFilename = Dir

 Loop

End Sub


Private Function proofDate(ByRef strFilename As String) As Boolean

 proofDate = proofDate2(strFilename, Now)

End Function


Private Function proofDate2(ByRef strFilename As String, ByVal dCurrentDate As Date) As Boolean

 '// tag von heute + 2 - prüfdatum

 If Format((DateAdd("D", 2, dCurrentDate) - FileDateTime(strFilename)), "D") < KILLDAYS Then

   proofDate2 = True

 Else

   proofDate2 = False

 End If

End Function


// :uli

die meisten aus diesem forum haben ihren beruf verfehlt...

fyi. http://www.keeptalking.de ist ein richtiges forum für entwickler :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...