Visual Studio Datein älter x Tage löschen
Moin,
ich möchte auf einem Windows-Server in mehreren Pfaden nach Dateien bestimmter Endungen suchen, welche ein definiertes Alter überschreiten.
Das ganze soll via einer INI-Datei gesteuert werden.
Verarbeitung soll in einer EXE erfolgen.
Soweit funktioniert das Programm ja, ich habe in der INI Datei, mehrere Pfade, DateiTypen angegeben(Durch abfrage nach Stichwörtern), welche auch richtig ausgelesen werden.
Nur im Bereich des "IO.Directory.GetFiles" liefert das Programm mir immer nur den Letzten Pfad, und überspringt die ersten Verzeichnisse.
Denk mal das das Array irgendwie noch falsch ist.
Hier mal der Aufbau der INI-Datei:
Pfad;C:\Test\Ordner 01
Pfad;C:\Test\Ordner 02
Pfad;C:\Test\Ordner 03
Pfad;C:\Test\Ordner 04
Intervall;1
Typ;txt
Typ;xls
Das Programm sieht wie folgt aus:
Nur die Variable sFile nimmt immer nur den letzten Ordner.
Kann mir hier jemand helfen ?
Danke
ich möchte auf einem Windows-Server in mehreren Pfaden nach Dateien bestimmter Endungen suchen, welche ein definiertes Alter überschreiten.
Das ganze soll via einer INI-Datei gesteuert werden.
Verarbeitung soll in einer EXE erfolgen.
Soweit funktioniert das Programm ja, ich habe in der INI Datei, mehrere Pfade, DateiTypen angegeben(Durch abfrage nach Stichwörtern), welche auch richtig ausgelesen werden.
Nur im Bereich des "IO.Directory.GetFiles" liefert das Programm mir immer nur den Letzten Pfad, und überspringt die ersten Verzeichnisse.
Denk mal das das Array irgendwie noch falsch ist.
Hier mal der Aufbau der INI-Datei:
Pfad;C:\Test\Ordner 01
Pfad;C:\Test\Ordner 02
Pfad;C:\Test\Ordner 03
Pfad;C:\Test\Ordner 04
Intervall;1
Typ;txt
Typ;xls
Das Programm sieht wie folgt aus:
'##########################################
'Prüfen auf Dateien älter x zu aktuellem Datum
'Source = INI-Datei mit zu prüfenden Angaben
'(c) 22.06.2010
Imports System
Imports System.IO
Module Win_Rotator
Sub Main()
Dim Source As String = Directory.GetCurrentDirectory() & "\Win_Rotator.ini"
Dim StreamReader As StreamReader = File.OpenText(Source)
Dim LineInput As String
Dim Typ() As String
Dim Intervall, p, t As Integer
Dim Pfad() As String
Dim sFile() As String
Dim Fileinfo As System.IO.FileInfo
'##########################################
'Lesen der INI Datei
p = 0
t = 0
LineInput = StreamReader.ReadLine()
Do While (LineInput <> Nothing)
'MsgBox(LineInput & Chr(13))
If Left(LineInput, 5) = "Pfad;" Then
ReDim Preserve Pfad(p + 1)
Pfad(p) = (Right(LineInput, Len(LineInput) - 5))
p += 1
End If
If Left(LineInput, 4) = "Typ;" Then
ReDim Preserve Typ(t + 1)
Typ(t) = (Right(LineInput, Len(LineInput) - 4))
t += 1
End If
If Left(LineInput, 10) = "Intervall;" Then
Intervall = (Right(LineInput, Len(LineInput) - 10))
End If
LineInput = StreamReader.ReadLine()
Loop
p = 0
t = 0
Do While p <= UBound(Pfad) - 1
'MsgBox(Pfad(p))
p = p + 1
Loop
Do While t <= UBound(Typ) - 1
MsgBox(Typ(t))
t = t + 1
Loop
'Console.WriteLine("Pfad: " & Pfad & ", Intervall: " & Intervall & ", Typ: " & Typ)
'##########################################
'Auslesen der Dateien
'Dim sFile() As String
p = p - 1
t = t - 1
sFile = IO.Directory.GetFiles(Pfad(p))
Dim counter As Integer = 0
Do Until counter = sFile.Length
Fileinfo = New System.IO.FileInfo(sFile(counter))
'Console.WriteLine(Fileinfo.Name)
'Console.WriteLine(Fileinfo.LastWriteTime.ToString)
counter += 1
If Date.Now.Subtract(Fileinfo.LastWriteTime()).TotalDays >= Intervall Then
Dim Check As String
Check = Fileinfo.Extension
If Check = "." & Typ(t) Then
Console.WriteLine(Fileinfo.FullName)
'System.IO.File.Delete(Fileinfo.FullName)
End If
Else
'Console.WriteLine("Keine Datei gefunden!")
End If
Loop
'##########################################
Console.ReadLine()
End Sub
End Module
Nur die Variable sFile nimmt immer nur den letzten Ordner.
Kann mir hier jemand helfen ?
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145864
Url: https://administrator.de/contentid/145864
Ausgedruckt am: 25.11.2024 um 20:11 Uhr