WSH Script - Zeitstempel einer Datei manipulieren
Hi zusammen,
wir haben einen temporären Ordner, der normalerweise alle 5 Tage gelöscht werden sollte.
Um das nicht händisch zu machen, soll ein WSH-Script überprüfen, welche Dateien älter als 5 Tage sind und den aktuellen Zeitstempel verpassen, damit diese Dateien 5 Tage dort verweilen können. Also am besten das create-Datum verwenden.
Zusätzlich (Nachdem der erste Teil des Scripts durchgelaufen ist) soll in diesem Script eine Abfrage stattfinden, die schaut, welche Dateien älter als 5 tage sind und diese dann löschen.
Den zweiten Teil habe ich bereits geschrieben nur tue ich mich mit dem ersten recht schwer.
Kann mir jemand helfen?
wir haben einen temporären Ordner, der normalerweise alle 5 Tage gelöscht werden sollte.
Um das nicht händisch zu machen, soll ein WSH-Script überprüfen, welche Dateien älter als 5 Tage sind und den aktuellen Zeitstempel verpassen, damit diese Dateien 5 Tage dort verweilen können. Also am besten das create-Datum verwenden.
Zusätzlich (Nachdem der erste Teil des Scripts durchgelaufen ist) soll in diesem Script eine Abfrage stattfinden, die schaut, welche Dateien älter als 5 tage sind und diese dann löschen.
Den zweiten Teil habe ich bereits geschrieben nur tue ich mich mit dem ersten recht schwer.
Kann mir jemand helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 35174
Url: https://administrator.de/contentid/35174
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
1 Kommentar
Moin MajorTom,
ist keine so unlösbare Aufgabe...
Eines der nicht so aufgeblähten Beispiele für eine Lösung ist hier:
http://www.codecomments.com/archive299-2005-4-434167.html
Weil es relativ kurz und knackig ist, poste es mal (denn von Kosmetischen Änderungen abgesehen würde ich es von der Strategie genau so machen):
You can modify a file's DateModified-Property using ShellAutomation.
ShellFileItem's ModifyDate-property is read-write.
In contrast to the FSO-solution, you don't have to copy, move or create
the file don't have to install 3rd party tools, e.g
touch from Borland/cygwin.
Okay - statt "newDate = DateSerial(2099,1,1) + TimeSerial(0,0,0)" solltest du "date", also dasheutige Datum nehmen..
Der Rest sollte passen.
Oder Du gehst über das FileSystemObject (Set oFSO=CreateObject("Scripting.FileSystemObject"). Siehe Forumssuche.
Gruß
Biber
ist keine so unlösbare Aufgabe...
Eines der nicht so aufgeblähten Beispiele für eine Lösung ist hier:
http://www.codecomments.com/archive299-2005-4-434167.html
Weil es relativ kurz und knackig ist, poste es mal (denn von Kosmetischen Änderungen abgesehen würde ich es von der Strategie genau so machen):
You can modify a file's DateModified-Property using ShellAutomation.
ShellFileItem's ModifyDate-property is read-write.
In contrast to the FSO-solution, you don't have to copy, move or create
the file don't have to install 3rd party tools, e.g
touch from Borland/cygwin.
Dim newDate, file
file = "C:\someexistingfile.dat"
newDate = DateSerial(2099,1,1) + TimeSerial(0,0,0)
Call modifyDateMod file, newDate
Sub modifyDateMod(strFilePath, newDate)
'# works at least on xp, independently from FS (NTFS or FAT)
Dim sh, sf, fi
Dim Dir, File, pos
pos = InstrRev (strFilePath, "\")
Dir = Left(strFilePath, pos)
File = Mid (strFilePath, pos+1)
'Get FolderItem
Set sh = CreateObject ("Shell.Application")
Set sf = sh.NameSpace (Dir)
Set fi = sf.ParseName (File)
'manipulates the FolderItem's Last-Modificaton-Date
fi.ModifyDate = newDate
End Sub
Okay - statt "newDate = DateSerial(2099,1,1) + TimeSerial(0,0,0)" solltest du "date", also dasheutige Datum nehmen..
Der Rest sollte passen.
Oder Du gehst über das FileSystemObject (Set oFSO=CreateObject("Scripting.FileSystemObject"). Siehe Forumssuche.
Gruß
Biber