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ß
Please also mark the comments that contributed to the solution of the article
Content-Key: 434151
Url: https://administrator.de/contentid/434151
Printed on: April 18, 2024 at 03:04 o'clock
6 Comments
Latest comment
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+)_"