Powershell 7: eksperymentujemy #4

https://xpil.eu/q1j

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

https://xpil.eu/q1j

Leave a Comment

Komentarze mile widziane.

Je偶eli chcesz do komentarza wstawi膰 kod, u偶yj sk艂adni:
[code]
tutaj wstaw sw贸j kod
[/code]

Je偶eli zrobisz liter贸wk臋 lub zmienisz zdanie, mo偶esz edytowa膰 komentarz po jego zatwierdzeniu.