sobota, 28 sierpnia 2021

PowerShell: wyświetlane 30 ostatnio zapisanych/ zmodyfikowanych plików w folderze i podfolderach

Przykładowa sytuacja.

Na Pulpicie macie dużo folderów w których jest dużo plików. Zapiszecie coś w którymś z tych podfolderów. Nie pamiętacie nazwy, ani folderu w którym plik został umieszczony. 

Wtedy nerwowość szukania zapisanego dokumentu staje odwrotnie proporcjonalnie do pozostałego czasu, czyli im mniej czasu, tym większe zdenerwowanie ;)

W takich sytuacjach może się przydać poniższy "jednolinijkowiec".

Get-ChildItem -Recurse -File | Select-Object -Property FullName, LastWriteTime | Sort-Object LastWriteTime -Descending | Select-Object -First 30

Jeżeli więc chcecie wyświetlić 30 ostatnio zapisanych / zmodyfikowanych plików na Pulpicie i jego podfolderach należy odpalić PowerShella, przejść na Pulpit i wkleić powyższy kod. 

Oczywiście zamiast przechodzenia do folderu i uruchamiania kodu, ścieżkę do przeszukania można podać poprzez parametr -Path dla polecenia Get-ChildItem. Również do tego polecenia można dodać parametr -Hidden, który spowoduje wyświetlanie także ukrytych plików.

Kod uzupełniony o te dwa parametry będzie miał zatem postać:

Get-ChildItem -Path "ścieżka_do_przeszukania" -Recurse -File -Hidden| Select-Object -Property FullName, LastWriteTime | Sort-Object LastWriteTime -Descending | Select-Object -First 30

Całkiem przydatna rzecz, zwłaszcza jeśli do przeanalizowania są dziesiątki folderów z tysiącami plików. 

1 komentarz:

  1. Fajne i przydatne! Twój kod działa świetnie, z tym, że musiałem usunąć parametr Hidden aby zadziałało.
    Też się na tym łapię, że nie wiem dokładnie gdzie zapisałem wszystkie 40-50 otwartych plików, które miały być oczywiście tymczasowe. Ostatnio robię inaczej - zapisuję wszystko w jednym wspólnym folderze i potem narzędziem grep w Cmder albo grepWin (okienkowe) szukam w środku w plikach wyrażeniami regularnymi, albo po prostu szukam jakiegoś ciągu.

    OdpowiedzUsuń

Bardzo proszę o zachowanie netykiety.