Aktualisierungen der letzten 2 Wochen eines Verzeichnisses als Textdatei speichern?
Moin!
Derzeit ist es so, dass ich Laufwerke oder einzelne Verzeichnisse per /TREE und Powershell täglich auslese und in eine Textdatei schreibe.
Nun würde ich es gerne dahingehend weiterentwickeln, dass die Änderungen der letzten 2 Wochen in einer gesonderten Textdatei dokumentiert werden. Sind 2 Wochen rum, fallen Daten die vor 14 Tagen reingeschrieben worden sind wieder raus.
Soweit der Plan.
Ist dies " auf einfache Weise" realisiertbar?
Ich schätze spätestens mit einer Datenbank wäre das realisierbar (welche Notfalls auch auf dem Server auf dem dies realisiert werden soll verfügbar gemacht werden könnte).
Da ich in Sachen Programmierung noch sehr unerfahren bin, würde das zwar sicherlich für mich an ein Mammutprojekt grenzen, aber da ich mich ohnehin in Sachen Programmierung weiterbilden möchte, wäre das sicherlich auch hilfreich.
Hat da wer ein paar Tipps für mich?
Derzeit ist es so, dass ich Laufwerke oder einzelne Verzeichnisse per /TREE und Powershell täglich auslese und in eine Textdatei schreibe.
Nun würde ich es gerne dahingehend weiterentwickeln, dass die Änderungen der letzten 2 Wochen in einer gesonderten Textdatei dokumentiert werden. Sind 2 Wochen rum, fallen Daten die vor 14 Tagen reingeschrieben worden sind wieder raus.
Soweit der Plan.
Ist dies " auf einfache Weise" realisiertbar?
Ich schätze spätestens mit einer Datenbank wäre das realisierbar (welche Notfalls auch auf dem Server auf dem dies realisiert werden soll verfügbar gemacht werden könnte).
Da ich in Sachen Programmierung noch sehr unerfahren bin, würde das zwar sicherlich für mich an ein Mammutprojekt grenzen, aber da ich mich ohnehin in Sachen Programmierung weiterbilden möchte, wäre das sicherlich auch hilfreich.
Hat da wer ein paar Tipps für mich?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 217592
Url: https://administrator.de/contentid/217592
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo mymomo,
warum orientierst Du Dich nicht am create oder modified Date der Dateien ?
dir /T:C /T:W /S /Q
Ich würde das mittels Auto-IT und der Funktion "FileGetTime" realisieren.
- Rekursiv die Verzeichnissese durchsuchen,
- Dateienamen, die vor <14 Tagen created wurden in eine Datei schreiben
- das ganze nächtlich (Scheduler) laufen lassen.
So hast Du täglich eine Datei aller Files die nicht älter als 14 Tage sind.
Mein Anwendungsfall war, Files ( in einem Verz.), die älter als 7 Tage sind, zu löschen.
René
warum orientierst Du Dich nicht am create oder modified Date der Dateien ?
dir /T:C /T:W /S /Q
Ich würde das mittels Auto-IT und der Funktion "FileGetTime" realisieren.
- Rekursiv die Verzeichnissese durchsuchen,
- Dateienamen, die vor <14 Tagen created wurden in eine Datei schreiben
- das ganze nächtlich (Scheduler) laufen lassen.
So hast Du täglich eine Datei aller Files die nicht älter als 14 Tage sind.
Mein Anwendungsfall war, Files ( in einem Verz.), die älter als 7 Tage sind, zu löschen.
René
Ahoi René,
hier ein quick and dirty script (Powershell). Wenn ich richtig verstanden habe willst du eine Übersicht über alle Dateien und eine Übersicht mit den Dateien die die letzten 14 Tage geändert wurden.
Der Torsten wars!
hier ein quick and dirty script (Powershell). Wenn ich richtig verstanden habe willst du eine Übersicht über alle Dateien und eine Übersicht mit den Dateien die die letzten 14 Tage geändert wurden.
#Verzeichnis was durchsucht wird
[string]$mySearchPath='z:'
#jetzt minus 14 Tage
[datetime]$myDate=(get-date).adddays(-14)
#csv zum Speichern des Ergebnisses
[string]$myCsv1='F:\temp\all_files.csv'
[string]$myCsv2='F:\temp\changes_last_14_days.csv'
#Dateien die in den letzten 14 Tage geändert wurden
[array]$myResults = Get-ChildItem -Path $mySearchPath -Recurse | select Fullname,LastWriteTime
#gesamtes Ergebnis exportieren
$myResults | Export-Csv -Path $myCSV1 -Delimiter ";" -NoTypeInformation -Force
#Dateien die innerhalb der letzten x Tage geändert wurden
$myResults | where { $_.LastWriteTime -ge $mydate } | Export-Csv -Path $myCSV2 -Delimiter ";" -NoTypeInformation -Force
Der Torsten wars!