Advertisement
Jakubson

Remove files above 3

Aug 3rd, 2020
1,810
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Zapytaj o ścieżkę do folderu
  2. [void][Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic')
  3. $title = 'Usuń nadmiar plików ponad 3 zaczynając od najstarszych:'
  4. $msg   = 'Wprowadź ścieżkę do folderu:'
  5. $folderPath = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)
  6.  
  7. # Alternatywnie można tą ścieżkę na sztywno zdefiniować np:
  8. # $folderPath = "c:\tmp"
  9. # i skasować lub wykomentować linie od 1 do 5
  10.  
  11. #Kontrakt walidacyjny
  12. #Sprawdź czy folder istnieje, i czy nie jest pustym stringiem
  13. if ([string]::IsNullOrEmpty($folderPath))
  14. {
  15.     Write-Host "Nie wprowadziłeś ścieżki"
  16. }
  17. else
  18. {
  19.     if (Test-Path $folderPath)
  20.     {
  21.         Write-Host "Folder" $folderPath "istnieje"
  22.     }
  23.     else
  24.     {
  25.         Write-Host "Folder nie itnieje pod tą ścieżką"
  26.     }
  27. }
  28.  
  29. #Policz pliki
  30. $filesCount = ( Get-ChildItem $folderPath | Measure-Object ).Count
  31. Write-Host "Znaleziono $filesCount plik/pliki/plików"
  32.  
  33. #Skasuj nadmiar powyżej 3 plików zaczynajac od najstarszych
  34. if ($filesCount -gt 3)
  35. {    
  36.     Write-Host "Kasuje" ($filesCount -3) "plik/pliki/plików"
  37.  
  38.     $sortedFiles = Get-ChildItem -Path $folderPath | Sort-Object -Property CreationTime -Descending
  39.    
  40.     $sortedFiles | Select-Object -Skip 3 | Remove-Item -Force    
  41. }
  42. else
  43. {
  44.     Write-Host "Mniej niż 3 pliki w folderze"
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement