вот один из способов определить, что сохранить или удалить.он использует массив «срок хранения в днях», а затем проверяет, находится ли возраст файла в этой коллекции.
$DaysOldToKeep = @(
0
3
7
)
$SourceDir = $env:TEMP
$Today = (Get-Date).Date
$FileList = Get-ChildItem -LiteralPath $SourceDir -File |
Sort-Object -Property CreationTime
foreach ($FL_Item in $FileList)
{
$DaysOld = ($Today - $FL_Item.CreationTime).Days
if ($DaysOld -notin $DaysOldToKeep)
{
Write-Warning ('[ {0} ] is [ {1} ] days old & should be removed.' -f $FL_Item.Name, $DaysOld)
}
else
{
Write-Host (' [ {0} ] is [ {1} ] days old & should be KEPT.' -f $FL_Item.Name, $DaysOld)
}
}
усеченный вывод ...
WARNING: [ testing-making-dir-and-file.txt ] is [ 9 ] days old & should be removed.
WARNING: [ hd4B753.tmp ] is [ 8 ] days old & should be removed.
[ Itunes_AlbumAutoRating_Disable.ps1_2019-04-08.log ] is [ 7 ] days old & should be KEPT.
[ vscode-inno-updater-1554768842.log ] is [ 7 ] days old & should be KEPT.
[ hd464FA.tmp ] is [ 7 ] days old & should be KEPT.
[ hd4E2F0.tmp ] is [ 7 ] days old & should be KEPT.
WARNING: [ Genre-List_2019-04-09.log ] is [ 6 ] days old & should be removed.
WARNING: [ Grouping-Strings-List_2019-04-10.log ] is [ 5 ] days old & should be removed.
WARNING: [ Itunes_R-PC-SC_Save.ps1_2019-04-11.log ] is [ 4 ] days old & should be removed.
[ Magenoob_-_Merged_User_Info.csv ] is [ 3 ] days old & should be KEPT.
[ Itunes_Default-Rating_Set.ps1_2019-04-12.log ] is [ 3 ] days old & should be KEPT.
[ MagicTheGathering_-_Scryfall-Default-Cards.json ] is [ 3 ] days old & should be KEPT.
WARNING: [ hd4C490.tmp ] is [ 2 ] days old & should be removed.
WARNING: [ hd45A92.tmp ] is [ 1 ] days old & should be removed.
[ exthost-825471.cpuprofile ] is [ 0 ] days old & should be KEPT.
[ vscode-inno-updater-1555314279.log ] is [ 0 ] days old & should be KEPT.
[ npp.7.6.6.Installer.x64.exe ] is [ 0 ] days old & should be KEPT.
[ hd43E2A.tmp ] is [ 0 ] days old & should be KEPT.
[ hd44D37.tmp ] is [ 0 ] days old & should be KEPT.
[ hd4488C.tmp ] is [ 0 ] days old & should be KEPT.
[ hd45A09.tmp ] is [ 0 ] days old & should be KEPT.
[ Itunes_AlbumAutoRating_Disable.ps1_2019-04-15.log ] is [ 0 ] days old & should be KEPT.