Na klar entschuldige wenn das ein bisschen zu Allgemein war :) Bin jetzt schon so weit das es jetzt ziemlich anders aussieht... Es soll halt eine Datei Gebackuped werden. Das läuft auch schon. Davor soll aber in den Backup Ordner geguckt werden, welche Dateien älter als 30 tage sind und dieses anhand des Timestamps im Dokument löschen. So SIeht es dann aus:
param(
[string]$file2save = "D:\Datapool\Datapool .mdb",
[string]$savePath = "D:\Datapool\Backup\Datapool$timestamp.mdb",
[string]$deleteBakAfterDays = (get-date -f yyyy-MM-dd-HH-mm-ss).adddays(-10),
[string]$adddays = '.adddays(-10)'
)
cls
[
string]$timestamp = $(get-date -f yyyy-MM-dd-HH-mm-ss)
#Anlegen der Variable Today zur bestimmung des Datums
$Today = Get-Date -format d
#Nimmt das Verzeichniss D:\Test und durchsucht es nach Daten, die älter als 30 Tage sind
Get-Childitem
"D:\Produktionsstoerungen\Backup" -recurse | Where-Object {(Get-ChildItem -Name) -gt ("Datapool"+$timestamp)}| Remove-Item
Get-Childitem "D:\Produktionsstoerungen\Backup" -recurse | Where-Object {(Get-name -gt $deleteBakAfterDays} | Remove-Item
#Kopiert von D:\Explorer.ps1 die Datei nach D:\Test\Explorer und vergibt ein Timestamp
$savePath
#Kopiert die Powershelldatei und ändert das Änderungsdatum aufs die aktuelle Zeit.
$file = copy-item $file2save $savePath
$date = Get-ChildItem $savePath
$date.LastWriteTime = (Get-Date)
Ich hoffe das ich jetzt nicht noch mehr verwirrt habe.