EulandaXtools — Funktionsreferenz
Löscht bestimmte Dateien aus einem SFTP-Verzeichnis, die älter als eine bestimmte Anzahl Tage sind. Unterstützt -WhatIf und -Confirm zur Simulation und Sicherheitsabfrage.
Remove-SftpFilesOlderThan [-Partner] <hashtable> [-PartnerName] <string> [-DataPath] <string>
[[-Extension] <string>] [[-Days] <int>] [-UseBaseDateFromFile] [[-MinFiles] <int>]Kann direkt mit einem Partnerobjekt oder über Partnername zzgl. DataPath arbeiten. Es wird nur nach dem Datum (yyyy-MM-dd) geprüft, sodass alle Dateien eines Tages vollständig gelöscht werden. Zusätzlich wird nach einer bestimmten Dateiendung gefiltert. Als Basisdatum kann wahlweise das aktuelle Datum oder das Datum der neuesten Datei am SFTP dienen. Optional kann festgelegt werden, dass immer mindestens eine bestimmte Anzahl Dateien im Verzeichnis verbleibt, unabhängig vom Alter.
-Partner
Type: hashtablePartnerobjekt aus der JsonDb.
-PartnerName
Type: stringName des Partners.
-DataPath
Type: stringPfad zur JsonDb, wenn PartnerName verwendet wird.
-Extension
Type: string
Default: '.done'Dateiendung, Default '.done'.
-Days
Type: int
Default: 14Alter in Tagen, Default 14.
-UseBaseDateFromFile
Type: switchWenn gesetzt, wird das Datum der neuesten Datei als Basis genommen, andernfalls das aktuelle Datum.
-MinFiles
Type: int
Default: 0Minimale Anzahl Dateien, die im Verzeichnis verbleiben sollen. Default 0 (= deaktiviert).
System.Int32Anzahl gelöschter Dateien
# Mit Partnerobjekt, aktuelles Datum als Basis
$partner = Get-ScheduledPartners -JsonDb 'database\partner.json' | Where-Object partnerName -eq 'MARKANT'
Remove-SftpFilesOlderThan -Partner $partner# Mit Partnername, neueste Datei als Basis, Simulation
Remove-SftpFilesOlderThan -PartnerName 'MARKANT' -DataPath 'database' -UseBaseDateFromFile -WhatIfWhatIf/Confirm: