Nach Tagen Löschen regex.pattern VBScript
Hallo und guten Abend zusammen,
ich benötige eure Hilfe. Das unten stehende Script soll anhand einer Zahl (Anzahl Tage) im Dateinamen die Datei löschen, leider tut es nicht was es soll und ich finde den Fehler nicht.
<
Ich hoffe jemand kann mir weiter helfen
Gruß
ich benötige eure Hilfe. Das unten stehende Script soll anhand einer Zahl (Anzahl Tage) im Dateinamen die Datei löschen, leider tut es nicht was es soll und ich finde den Fehler nicht.
<
FOLDER = "D:\Users\Desktop\Test"
set fso = CreateObject("Scripting.FilesystemObject")
set regex = CreateObject("vbscript.regexp")
regex.pattern = "_(\d+)_$"
for each file in fso.GetFolder(FOLDER).Files
set match = regex.Execute(fso.GetBasename(file.Name))
if match.count > 0 then
intDays = CInt(match(0).submatches(0))
if DateAdd("d",intDays,file.DateCreated) < Now() then
file.Delete
End if
End if
Next
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 434151
Url: https://administrator.de/contentid/434151
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
6 Kommentare
Neuester Kommentar
Denk doch mal nach was hier fehlt!! Genau, wir kennen deine Dateinamen nicht, also können wir auch nicht evaluieren ob dein Regex-Pattern überhaupt zutrifft!
FOLDER = "D:\Users\Desktop\Test"
Da fehlt offensichtlich der Username im Pfad. Fass Kaffee rüber schmeiß... irgendwo im Dateinamen _Zahl_ stehen.
Siehst du, deswegen wollte ich das wissen, denn in dem Fall ist dein Regex Pattern nicht korrekt!!Entferne das Dollarzeichen aus dem Pattern dann geht das auch, denn das Dollarzeichen bedeutet das der String nur am Ende gefunden werden soll!
regex.pattern = "_(\d+)_"