Rozdział 1: Wprowadzenie do PowerShella
PowerShell to nowoczesny, potężny język skryptowy i interaktywne środowisko konsolowe stworzone przez Microsoft, które umożliwia automatyzację i zarządzanie systemami operacyjnymi Windows oraz usługami chmurowymi, takimi jak Azure. PowerShell stanowi niezwykle przydatne narzędzie zarówno dla administratorów systemów, jak i dla deweloperów, pozwalając na sprawne wykonywanie zadań administracyjnych, zarządzanie sieciami, automatyzację powtarzalnych operacji i wiele innych.
1. Historia PowerShella
Pierwsza wersja PowerShella została wydana w 2006 roku jako „Microsoft Command Shell” (nazwa zmieniona później na PowerShell). Zbudowany na platformie. NET Framework, PowerShell początkowo działał wyłącznie na systemie Windows. W 2016 roku Microsoft ogłosił wersję open-source o nazwie PowerShell Core, która jest kompatybilna z różnymi systemami operacyjnymi, w tym Linux i macOS. Od tego momentu PowerShell jest częścią ekosystemu. NET Core, co sprawiło, że stał się wieloplatformowy i bardziej elastyczny.
2. PowerShell vs. Inne Języki Skryptowe
PowerShell łączy w sobie cechy tradycyjnych języków skryptowych, takich jak Bash czy Python, z możliwościami obiektowego programowania zorientowanego na Windows. Dzięki temu daje użytkownikom możliwość pracy z różnorodnymi obiektami, nie ograniczając się jedynie do tekstu. PowerShell interpretuje wyniki komend jako obiekty, co pozwala na łatwiejsze zarządzanie danymi i wykonywanie skomplikowanych operacji.
Bash PowerShell Opis
ls Get-ChildItem Wyświetla listę plików i katalogów
cd Set-Location Zmienia katalog
echo Write-Output Wyświetla tekst
cat Get-Content Wyświetla zawartość pliku
grep Select-String Przeszukuje tekst w plikach
3. Instalacja i Konfiguracja
PowerShell jest obecnie dostępny jako część Windows, jednak jeśli chcesz korzystać z wersji PowerShell Core, możesz ją zainstalować na systemie Windows, macOS i Linux.
3.1 Instalacja PowerShell na Windows
Otwórz stronę https://github.com/PowerShell/PowerShell/releases.
Pobierz najnowszą wersję instalatora. msi.
Zainstaluj PowerShell, postępując zgodnie z instrukcjami instalatora.
3.2 Instalacja PowerShell na macOS
Uruchom Terminal.
Wpisz następującą komendę, aby zainstalować PowerShell za pomocą Homebrew:
brew install — cask powershell
3.3 Instalacja PowerShell na Linuxie
Dla systemów Linux istnieją różne metody instalacji PowerShell, zależnie od dystrybucji. Przykład dla Ubuntu:
Otwórz terminal.
Wykonaj poniższe komendy, aby zainstalować PowerShell:
sudo apt update
sudo apt install -y powershell
4. Uruchamianie PowerShella
Po zainstalowaniu PowerShella możesz go uruchomić, wpisując pwsh w terminalu (na Linuxie i macOS) lub otwierając aplikację PowerShell na Windowsie. Interfejs PowerShella składa się z wiersza poleceń, gdzie wpisujesz komendy, które są natychmiast wykonywane.
Przykład uruchomienia PowerShella i wykonania podstawowej komendy:
# Wyświetlenie „Hello, PowerShell!”
Write-Output „Hello, PowerShell!”
5. Cmdlety
PowerShell opiera się na zestawie komend zwanych „cmdletami”. Cmdlety to specjalne funkcje, które realizują konkretne zadania administracyjne. Nazewnictwo cmdletów składa się z dwóch części: czasownika i rzeczownika, np. Get-Process, Set-Location, Remove-Item. Każdy cmdlet jest zaprojektowany tak, aby wykonywał jedno zadanie, co ułatwia ich łączenie w bardziej złożone operacje.
Przykłady cmdletów:
# Wyświetlenie listy procesów
Get-Process
# Zmiana katalogu
Set-Location -Path „C:\Users”
# Usuwanie pliku
Remove-Item -Path „C:\Users\Public\example. txt”
6. Pipeline (Potoki)
PowerShell umożliwia przesyłanie wyników z jednego cmdletu do drugiego za pomocą symbolu |. Potoki pozwalają na tworzenie bardziej złożonych komend poprzez łączenie prostych cmdletów.
Przykład użycia potoku:
# Wyświetlenie wszystkich procesów posortowanych według zużycia pamięci
Get-Process | Sort-Object -Property WS -Descending
7. Praca z Obiektami
PowerShell przetwarza dane w postaci obiektów, co oznacza, że wynikiem komendy może być struktura danych z różnorodnymi właściwościami i metodami. Dzięki temu można łatwo manipulować danymi i dostosowywać ich wyświetlanie.
Przykład pracy z obiektami:
# Przechwycenie informacji o procesach do zmiennej
$procesy = Get-Process
# Wyświetlenie informacji o pierwszym procesie w formie tabeli
$procesy | Select-Object -First 1 | Format-Table
8. Korzystanie z Pomocy
PowerShell posiada rozbudowany system pomocy, który można uruchomić za pomocą cmdletu Get-Help. Pomoc zawiera opisy komend, przykłady ich użycia oraz wyjaśnienia parametrów.
Przykład użycia Get-Help:
# Wyświetlenie pomocy dla komendy Get-Process
Get-Help Get-Process
# Wyświetlenie przykładowych zastosowań komendy Get-Process
Get-Help Get-Process -Examples
Podsumowanie
PowerShell to potężne narzędzie, które zmienia sposób, w jaki administratorzy i deweloperzy zarządzają systemami i automatyzują zadania. Jego wszechstronność sprawia, że jest idealny do pracy zarówno na systemach lokalnych, jak i chmurowych. W kolejnych rozdziałach będziemy zgłębiać bardziej zaawansowane techniki i sposoby na optymalizację pracy za pomocą PowerShella.
Warto poświęcić czas na naukę PowerShella, gdyż umiejętność jego obsługi może znacznie ułatwić zarządzanie systemami oraz przyspieszyć realizację wielu zadań w codziennej pracy.
Rozdział 2: Pierwsze kroki w PowerShellu
Rozpoczynając pracę z PowerShellem, warto zapoznać się z podstawowymi komendami i funkcjonalnościami tego środowiska. W tym rozdziale omówimy strukturę komend, zasady pracy z cmdletami oraz sposób wykorzystania potoków. Dowiesz się także, jak korzystać ze zmiennych, przetwarzać wyniki, a także filtrować dane. Praktyczne przykłady ułatwią Ci przyswajanie wiedzy i przygotują Cię do bardziej zaawansowanych zagadnień.
1. Podstawowa struktura komend
PowerShell opiera się na prostym, logicznym schemacie nazewnictwa komend w formie czasownik-rzeczownik, np. Get-Process, Set-Location, Remove-Item. Dzięki tej konwencji komendy są intuicyjne i łatwe do zapamiętania.
Przykładowe komendy:
• Get-Process — wyświetla informacje o działających procesach.
• Set-Location — zmienia bieżący katalog.
• Remove-Item — usuwa określony plik lub folder.
Przykład:
# Wyświetlenie listy aktywnych procesów
Get-Process
# Przejście do katalogu C:\Users
Set-Location -Path „C:\Users”
# Usunięcie pliku „example. txt” z katalogu Public
Remove-Item -Path „C:\Users\Public\example. txt”
2. Korzystanie z cmdletów
Cmdlety to podstawowe komendy PowerShella, które realizują konkretne zadania. Każdy cmdlet ma unikalną nazwę i może przyjmować różne parametry, pozwalając na dostosowanie działania do bieżących potrzeb.
Parametry i opcje cmdletów: Parametry są dodatkowymi opcjami, które możesz przekazać do cmdleta, aby kontrolować jego zachowanie. Przykład:
# Wyświetlenie procesów posortowanych według użycia pamięci
Get-Process | Sort-Object -Property WS -Descending
3. Potoki (Pipeline)
PowerShell wyróżnia się możliwością przesyłania wyników z jednego cmdletu do drugiego za pomocą potoku (|). Potoki pozwalają na tworzenie bardziej złożonych operacji, łącząc proste komendy w jednym wierszu.
Przykład użycia potoków:
# Wyświetlenie procesów o nazwie zawierającej „notepad” i ich sortowanie według użycia pamięci
Get-Process | Where-Object {$_.ProcessName -like „*notepad*”} | Sort-Object -Property WS -Descending
W powyższym przykładzie używamy Get-Process, by uzyskać listę procesów, a następnie filtrujemy wyniki za pomocą Where-Object, sprawdzając, czy nazwa procesu zawiera słowo „notepad”. Wyniki są następnie sortowane według zużycia pamięci.
4. Zmienne w PowerShellu
Zmienne pozwalają na przechowywanie danych, które możemy wielokrotnie wykorzystać w różnych częściach skryptu lub wiersza poleceń. W PowerShellu zmienne oznaczane są znakiem $.
Przykład tworzenia i używania zmiennych:
# Przechowanie wartości liczbowej
$wiek = 30
# Wyświetlenie wartości zmiennej
Write-Output $wiek
# Przechowanie tekstu
$wiadomosc = „Witaj w PowerShell!”
# Wyświetlenie wiadomości
Write-Output $wiadomosc
5. Typy danych w PowerShellu
PowerShell obsługuje różne typy danych, takie jak liczby, tekst, tablice i hashtable (tablice asocjacyjne). Znajomość tych typów jest kluczowa do efektywnej pracy z PowerShellem.
• Liczby: całkowite, zmiennoprzecinkowe
• Tekst: ciągi znaków w cudzysłowach
• Tablice: kolekcje danych, np. $lista = @(1, 2, 3)
• Hashtable: kolekcje klucz-wartość, np. $pary = @{imie=„Jan”; wiek=25}
Przykład pracy z tablicą:
# Tworzenie tablicy
$kolory = @(„czerwony”, „zielony”, „niebieski”)
# Dostęp do elementów tablicy
$kolory[0] # czerwony
$kolory[1] # zielony
# Dodanie nowego elementu do tablicy
$kolory += „żółty”
6. Obsługa błędów
PowerShell umożliwia przechwytywanie i obsługę błędów, co jest szczególnie przydatne w przypadku automatyzacji. Dzięki temu możesz upewnić się, że skrypt będzie działał nawet w sytuacjach niespodziewanych błędów.
Przykład obsługi błędów za pomocą try-catch:
try {
# Próba otwarcia pliku
Get-Content -Path „C:\sciezka\do\plik. txt”
} catch {
# Obsługa błędu
Write-Output „Wystąpił błąd przy otwieraniu pliku: $_”
}
7. Korzystanie z aliasów
PowerShell wspiera aliasy, czyli skrócone nazwy komend, które pozwalają na szybsze wprowadzanie poleceń. Aliasem jest np. ls jako skrót dla Get-ChildItem.
Lista popularnych aliasów:
• ls — odpowiada Get-ChildItem
• cd — odpowiada Set-Location
• cp — odpowiada Copy-Item
• mv — odpowiada Move-Item
• rm — odpowiada Remove-Item
Przykład użycia aliasów:
# Użycie aliasów zamiast pełnych komend
ls # Wyświetlenie plików i folderów
cd.. # Przejście do katalogu nadrzędnego
8. Łączenie cmdletów i filtracja wyników
PowerShell umożliwia dokładne filtrowanie i selekcję danych poprzez łączenie cmdletów, takich jak Where-Object czy Select-Object. Filtracja ułatwia pracę z dużymi zbiorami danych, pozwalając na wybór tylko tych elementów, które są istotne.
Przykład filtracji:
# Wyświetlenie procesów, które zużywają więcej niż 100 MB pamięci
Get-Process | Where-Object {$_.WS -gt 100MB} | Select-Object ProcessName, WS
9. Korzystanie z Get-Help i dokumentacja
PowerShell posiada rozbudowaną dokumentację, którą można wyświetlić za pomocą cmdletu Get-Help. Dzięki Get-Help możesz szybko dowiedzieć się, jakie parametry oferuje dany cmdlet, oraz zobaczyć przykłady jego użycia.
Przykład użycia Get-Help:
# Wyświetlenie pomocy dla komendy Get-Process
Get-Help Get-Process
# Wyświetlenie przykładów dla komendy Get-Process
Get-Help Get-Process -Examples
10. Ćwiczenia praktyczne
Aby lepiej zrozumieć PowerShella, wykonaj poniższe ćwiczenia.
Ćwiczenie 1: Wyświetl wszystkie pliki w katalogu domowym, posortowane alfabetycznie.
Get-ChildItem -Path $HOME | Sort-Object -Property Name
Ćwiczenie 2: Znajdź wszystkie procesy działające na komputerze, które zużywają więcej niż 50 MB pamięci.
Get-Process | Where-Object {$_.WS -gt 50MB} | Select-Object ProcessName, WS
Ćwiczenie 3: Utwórz zmienną przechowującą Twoje imię, a następnie wyświetl komunikat „Witaj, [Twoje imię]!”.
$imie = „Jan”
Write-Output „Witaj, $imie!”
Podsumowanie
W tym rozdziale zapoznaliśmy się z podstawowymi zasadami pracy w PowerShellu, w tym z cmdletami, potokami, zmiennymi oraz obsługą błędów. Zrozumienie tych elementów pozwoli Ci na bardziej efektywne i świadome korzystanie z PowerShella w kolejnych rozdziałach.
Rozdział 3: Zmienne i struktury danych
PowerShell oferuje szeroką gamę typów zmiennych i struktur danych, które pozwalają na przechowywanie, organizowanie i przetwarzanie informacji w różnorodny sposób. Opanowanie zarządzania zmiennymi i strukturami danych jest kluczowe do skutecznego automatyzowania zadań oraz tworzenia bardziej zaawansowanych skryptów. W tym rozdziale omówimy podstawowe typy zmiennych, a także struktury danych, takie jak tablice, hashtable, oraz omówimy sposoby ich wykorzystania.
1. Wprowadzenie do zmiennych w PowerShellu
Zmienne w PowerShellu to elementy przechowujące wartości, które można później używać, manipulować nimi lub przekazywać do innych funkcji. Każda zmienna w PowerShellu jest poprzedzona znakiem $, co oznacza, że łatwo ją odróżnić od innych składników języka.
Przykład tworzenia zmiennej:
# Przypisanie wartości liczbowej do zmiennej
$wiek = 30
# Przypisanie tekstu do zmiennej
$imie = „Jan”
# Wyświetlenie wartości zmiennej
Write-Output $wiek
Write-Output $imie
PowerShell jest językiem dynamicznie typowanym, co oznacza, że nie musimy jawnie określać typu zmiennej — PowerShell sam rozpozna, czy jest to liczba, tekst, czy inny typ danych.
2. Podstawowe typy danych w PowerShellu
PowerShell obsługuje kilka podstawowych typów danych:
• Integer (liczba całkowita): Przechowuje liczby całkowite, np. 42
• Double (liczba zmiennoprzecinkowa): Przechowuje liczby zmiennoprzecinkowe, np. 3.14
• String (tekst): Przechowuje tekst, np. „Hello, World!”
• Boolean (wartość logiczna): Przechowuje wartość True lub False
Przykłady różnych typów danych:
# Liczba całkowita
$liczba = 10
# Liczba zmiennoprzecinkowa
$pi = 3.14159
# Tekst
$powitanie = „Cześć, PowerShell!”
# Wartość logiczna
$czyAktywny = $true
3. Operacje na zmiennych
Na zmiennych liczbowych można wykonywać standardowe operacje matematyczne, takie jak dodawanie, odejmowanie, mnożenie czy dzielenie.
Przykład operacji matematycznych:
$a = 5
$b = 3
# Dodawanie
$suma = $a + $b
# Mnożenie
$iloczyn = $a * $b
# Dzielenie
$iloraz = $a / $b
# Wyświetlenie wyników
Write-Output „Suma: $suma”
Write-Output „Iloczyn: $iloczyn”
Write-Output „Iloraz: $iloraz”
4. Tablice (Array)
Tablica to struktura danych, która pozwala na przechowywanie wielu wartości w jednej zmiennej. Tablice są użyteczne, gdy chcemy przechować zbiór podobnych elementów, takich jak liczby, nazwy czy inne dane.
Tworzenie tablicy:
# Tworzenie tablicy z liczbami
$liczby = @(1, 2, 3, 4, 5)
# Tworzenie tablicy z tekstami
$imiona = @(„Jan”, „Anna”, „Piotr”)
Dostęp do elementów tablicy:
# Wyświetlenie pierwszego elementu
Write-Output $liczby[0] # Wynik: 1
# Wyświetlenie drugiego elementu z tablicy imiona
Write-Output $imiona[1] # Wynik: Anna
5. Pętla foreach dla tablic
Za pomocą pętli foreach można łatwo iterować po elementach tablicy i wykonywać operacje na każdym z nich.
Przykład użycia foreach:
$kolory = @(„czerwony”, „zielony”, „niebieski”)
foreach ($kolor in $kolory) {
Write-Output „Kolor: $kolor”
}
6. Hashtable (tablica asocjacyjna)
Hashtable to struktura danych przechowująca pary klucz-wartość. Dzięki tej strukturze można łatwo przechowywać i wyszukiwać dane na podstawie unikalnych kluczy, co jest przydatne przy bardziej złożonych operacjach.
Tworzenie i używanie hashtable:
# Tworzenie hashtable
$osoba = @{
imie = „Jan”
wiek = 30
miasto = „Warszawa”
}
# Dostęp do wartości przez klucz
Write-Output $osoba[„imie”] # Wynik: Jan
Write-Output $osoba[„wiek”] # Wynik: 30
Write-Output $osoba[„miasto”] # Wynik: Warszawa
7. Operacje na hashtable
Możemy dodawać nowe klucze i wartości do hashtable, a także aktualizować istniejące wartości lub usuwać klucze.
Przykłady operacji na hashtable:
# Dodanie nowego klucza
$osoba[„kraj”] = „Polska”
# Aktualizacja istniejącej wartości
$osoba[„wiek”] = 31
# Usunięcie klucza
$osoba.Remove(„miasto”)
# Wyświetlenie hashtable
$osoba
8. Zagnieżdżone struktury danych
PowerShell umożliwia tworzenie zagnieżdżonych struktur danych, takich jak tablica hashtable lub hashtable zagnieżdżonych tablic. Umożliwia to przechowywanie bardziej skomplikowanych danych.
Przykład zagnieżdżonej struktury danych:
# Hashtable zawierająca tablice
$pracownik = @{
imie = „Anna”
dzialy = @(„IT”, „Marketing”, „Sprzedaż”)
}
# Dostęp do zagnieżdżonego elementu
Write-Output $pracownik[„dzialy”][1] # Wynik: Marketing
9. Zmienne automatyczne i predefiniowane
PowerShell zawiera również zestaw zmiennych automatycznych i predefiniowanych, które są domyślnie dostępne i mogą być pomocne podczas pracy z danymi.
• $PSVersionTable Zawiera informacje o wersji PowerShella
• $HOME Ścieżka do katalogu domowego użytkownika
• $PWD Bieżący katalog
• $True Stała logiczna reprezentująca prawdę
• $False Stała logiczna reprezentująca fałsz
Przykład użycia zmiennych automatycznych:
Write-Output „Wersja PowerShella: $($PSVersionTable.PSVersion)”
Write-Output „Katalog domowy: $HOME”
10. Konwersja typów danych
W PowerShellu można konwertować wartości na różne typy danych. Jest to szczególnie przydatne, gdy potrzebujesz mieć pewność, że dana wartość jest w odpowiednim formacie do wykonania określonej operacji.
Przykład konwersji typu danych:
$liczbaTekst = „123”
$liczba = [int]$liczbaTekst # Konwersja z tekstu na liczbę całkowitą
Write-Output ($liczba +10) # Wynik: 133
Podsumowanie
W tym rozdziale omówiliśmy podstawowe typy zmiennych i struktury danych w PowerShellu, takie jak liczby, teksty, tablice, hashtable, oraz operacje na nich. Posiadając tę wiedzę, możesz skutecznie zarządzać danymi i tworzyć bardziej zaawansowane skrypty, co jest kluczowym krokiem w automatyzacji zadań. W kolejnych rozdziałach nauczymy się, jak manipulować danymi za pomocą zaawansowanych cmdletów i technik.
Rozdział 4: Obsługa plików i systemu plików
PowerShell umożliwia łatwe zarządzanie plikami i systemem plików, co sprawia, że jest potężnym narzędziem do automatyzacji operacji związanych z plikami. W tym rozdziale omówimy, jak tworzyć, usuwać, przenosić, kopiować pliki i foldery, a także jak odczytywać i zapisywać dane w plikach. Dowiesz się również, jak efektywnie wyszukiwać pliki i katalogi, przetwarzać je oraz przeszukiwać ich zawartość.
1. Podstawowe cmdlety do obsługi plików
PowerShell oferuje kilka podstawowych cmdletów do zarządzania plikami i folderami. Oto najważniejsze z nich:
• Get-ChildItem Wyświetla zawartość katalogu
• New-Item Tworzy nowy plik lub folder
• Remove-Item Usuwa plik lub folder
• Copy-Item Kopiuje plik lub folder
• Move-Item Przenosi plik lub folder
• Set-Location Zmienia bieżący katalog
• Get-Content Odczytuje zawartość pliku
• Set-Content Zapisuje zawartość do pliku (nadpisując istniejącą)
• Add-Content Dodaje zawartość do istniejącego pliku
2. Tworzenie nowych plików i folderów
Cmdlet New-Item umożliwia tworzenie nowych plików i folderów. Przykład poniżej pokazuje, jak utworzyć pusty plik tekstowy oraz folder.
Tworzenie pliku i folderu:
# Tworzenie nowego pliku tekstowego
New-Item -Path „C:\Test” -Name „nowyplik. txt” -ItemType File
# Tworzenie nowego folderu
New-Item -Path „C:\" -Name „NowyFolder” -ItemType Directory
3. Przenoszenie i kopiowanie plików
Przenoszenie i kopiowanie plików oraz folderów w PowerShellu jest proste dzięki cmdletom Move-Item oraz Copy-Item.
Przenoszenie pliku:
# Przeniesienie pliku „nowyplik. txt” do folderu „NowyFolder”
Move-Item -Path „C:\Test\nowyplik. txt” -Destination „C:\NowyFolder”
Kopiowanie pliku:
# Skopiowanie pliku „nowyplik. txt” z „NowyFolder” do katalogu „Test”
Copy-Item -Path „C:\NowyFolder\nowyplik. txt” -Destination „C:\Test”
4. Usuwanie plików i folderów
Aby usunąć plik lub folder, można użyć cmdletu Remove-Item. Domyślnie PowerShell poprosi o potwierdzenie przed usunięciem folderu zawierającego inne elementy, aby uniknąć przypadkowego usunięcia danych.
Usuwanie pliku:
# Usunięcie pliku „nowyplik. txt”
Remove-Item -Path „C:\Test\nowyplik. txt”
Usuwanie folderu i wszystkich jego zawartości:
# Usunięcie folderu „NowyFolder” oraz jego zawartości bez potwierdzenia
Remove-Item -Path „C:\NowyFolder” -Recurse -Force
5. Praca z zawartością plików
PowerShell umożliwia łatwe odczytywanie i zapisywanie danych w plikach tekstowych za pomocą cmdletów Get-Content, Set-Content oraz Add-Content.
Odczytywanie zawartości pliku:
# Wyświetlenie zawartości pliku „przyklad. txt”
Get-Content -Path „C:\Test\przyklad. txt”
Zapis do pliku: Cmdlet Set-Content nadpisuje istniejącą zawartość pliku. Przykład poniżej zapisuje nową treść do pliku przyklad. txt.
# Zapisanie tekstu do pliku (nadpisuje istniejącą zawartość)
Set-Content -Path „C:\Test\przyklad. txt” -Value „To jest nowa zawartość pliku.”
Dodawanie treści do pliku: Cmdlet Add-Content dodaje nową linię do istniejącego pliku.
# Dodanie nowej linii do pliku
Add-Content -Path „C:\Test\przyklad. txt” -Value „To jest dodatkowa linia.”
6. Wyszukiwanie plików i folderów
PowerShell umożliwia wyszukiwanie plików i folderów według różnych kryteriów, np. nazwy, rozszerzenia, daty modyfikacji.
Wyszukiwanie plików o określonym rozszerzeniu:
# Znalezienie wszystkich plików. txt w katalogu Test
Get-ChildItem -Path „C:\Test” -Filter *.txt
Wyszukiwanie plików z określoną frazą w nazwie:
# Znalezienie wszystkich plików zawierających słowo „raport” w nazwie
Get-ChildItem -Path „C:\Test” -Filter *raport*
7. Filtracja wyników przy użyciu Where-Object
Przy pomocy cmdletu Where-Object można filtrować wyniki na podstawie dodatkowych kryteriów, np. rozmiaru lub daty modyfikacji.
Filtrowanie plików według rozmiaru:
# Wyświetlenie plików większych niż 1 MB
Get-ChildItem -Path „C:\Test” | Where-Object {$_.Length -gt 1MB}
Filtrowanie plików według daty modyfikacji:
# Wyświetlenie plików zmodyfikowanych w ciągu ostatnich 7 dni
Get-ChildItem -Path „C:\Test” | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)}
8. Rekurencyjne przeszukiwanie katalogów
Cmdlet Get-ChildItem wspiera rekurencyjne przeszukiwanie podkatalogów dzięki parametrowi -Recurse.
Przeszukiwanie katalogu z podkatalogami:
# Wyświetlenie wszystkich plików. txt w katalogu i podkatalogach
Get-ChildItem -Path „C:\Test” -Filter *.txt -Recurse
9. Operacje na ścieżkach i bieżący katalog
PowerShell umożliwia dynamiczne zarządzanie ścieżkami przy użyciu cmdletu Set-Location i zmiennych automatycznych takich jak $PWD (bieżący katalog) oraz $HOME (katalog domowy).
Przykład zmiany bieżącego katalogu:
# Przejście do katalogu Test