Zagadnienie: Chcemy usunąć pliki zawierające określony ciąg znaków w nazwie
Rozwiązanie: Przerabiamy i realizujemy skrypt
# Zliczenie elementów do usunięcia
$Items_count_before = (Get-ChildItem -Path C:\Users\user\AppData\Local\Temp -Filter +~JF*.tmp -File).Count
$Result = 'Log generated ' + [datetime]::now + ', ' + $Items_count_before + ' files +~JF detected'
$Result | Out-File -FilePath C:\TEMP\log_clear_temp.txt -Append
#Wyliczenie wagi przed usunięciem
$Weight_before = Get-ChildItem -Path C:\Users\user\AppData\Local\Temp -Recurse -File | Measure-Object -Property Length -Sum | Select @{Name="MB"; Expression={[math]::round($_.Sum/1MB, 2)}}
$Result = 'Log generated ' + [datetime]::now + ', temp weight before: ' + $Weight_before
$Result | Out-File -FilePath C:\TEMP\log_clear_temp.txt -Append
# Usuwanie plików
Get-ChildItem -Path C:\Users\user\AppData\Local\Temp -Filter +~JF*.tmp -File |
Where-Object { $_.LastWriteTime.Day -ne [datetime]::now.Date.Day} | Remove-Item
# Zliczenie elementów po usunięciu
$Items_count_left = (Get-ChildItem -Path C:\Users\user\AppData\Local\Temp -Filter +~JF*.tmp -File).Count
$Items_count_deleted = $Items_count_before - $Items_count_left
$Result = 'Log generated ' + [datetime]::now + ', ' + $Items_count_deleted + ' files +~JF deleted, ' + $Items_count_left + ' files +~JF left'
$Result | Out-File -FilePath C:\TEMP\log_clear_temp.txt -Append
#Wyliczenie wagi po usunięciu
$Weight_after = Get-ChildItem -Path C:\Users\user\AppData\Local\Temp -Recurse -File | Measure-Object -Property Length -Sum | Select @{Name="MB"; Expression={[math]::round($_.Sum/1MB, 2)}}
$Result = 'Log generated ' + [datetime]::now + ', i-Net temp weight after: ' + $Weight_after + "`r`n"
$Result | Out-File -FilePath C:\TEMP\log_clear_temp.txt -Append