Powershell 7: eksperymentujemy #4

Powershell 7 wprowadził dwa nowe operatory umożliwiające warunkowe uruchamianie poleceń w łańcuchu.

Wyobraźmy sobie, że chcemy najpierw uruchomić polecenie A a potem polecenie B, ale tylko jeżeli A zakończyło się sukcesem.

Czemu tak? Na przykład A może tworzyć nowy folder a B kopiować coś do niego – nie ma sensu uruchamiać B jeżeli A się nie udało.

Do tego celu służy operator &&:

New-Item -Type Directory -Name "TestFolder01" -ErrorAction SilentlyContinue | Out-Null && Write-Host "Udało się"

Powyższy kod spróbuje utworzyć nowy folder “TestFolder01”, a następnie wyświetli komunikat “Udało się” jeżeli wszystko poszło OK.

Można też w drugą stronę: czasami chcemy uruchomić jakąś komendę tylko wtedy, gdy jakaś inna komenda poległa z błędem. Wówczas użyjemy operatora ||:

New-Item -Type Directory -Name "TestFolder01" -ErrorAction SilentlyContinue | Out-Null || Write-Host "Nie udało się"

Tu znów próbujemy utworzyć folder TestFolder01, ale ponieważ taki folder już jest, operacja New-Item nie powiedzie się i dostaniemy na wyjściu komunikat “Nie udało się”.

Operatory && i || można oczywiście łączyć:

New-Item -Type Directory -Name "TestFolder02" -ErrorAction SilentlyContinue | Out-Null && Write-Host "Udało się" || Write-Host "Nie udało się"

Powyższa linijka za pierwszym razem da komunikat “Udało się”, a za drugim – “Nie udało się”. Od biedy można myśleć o parze && – || jak o operatorze trójwartościowym: wykonaj A, jeżeli się uda to wykonaj B, w przeciwnym razie C:

A && B || C

Liczba słów w tym wpisie: 267

Sprawdź też

Pchełki Python: 15999

Bierzemy liczbę naturalną, następnie każdą jej cyfrę podnosimy do kwadratu, kwadraty sumujemy, wynik sumowania poddajemy …

Powershell 7: eksperymentujemy #1

Microsoft wypuścił niedawno nowego Powershella, wersja 7. Podobno ma on zjednoczyć i ujednolicić wszystkie poprzednie …

Zapisz się
Powiadom o
guest
0 komentarzy
Inline Feedbacks
Zobacz wszystkie komentarze
0
Zapraszam do skomentowania wpisu.x
()
x