Jak pętla PowerShell For może uruchamiać polecenie wiele razy


Pętla For jest jedną z najbardziej cenne narzędzia w dowolnym języku programowania i  Microsoft PowerShell nie jest wyjątkiem. Do powtarzania poleceń możesz używać innych pętli, ale pętla For jest prawdopodobnie najprostsza.

Od iteracji po tablicach po wykonanie funkcji określoną liczbę razy – za pomocą tego narzędzia możesz osiągnąć wiele rzeczy. Oto samouczek dotyczący używania pętli For w programie PowerShell.

Do czego służą pętle For w programie PowerShell?

W przeciwieństwie do Wiersz polecenia PowerShell to kompletne środowisko skryptowe. Oznacza to, że możesz napisać Skrypty PowerShell wielokrotnego użytku, aby automatycznie wykonywać zadania, zamiast ręcznie wprowadzać polecenia. A pętle For są kluczem do napisania tych modułów.

Instrukcja For powtarza blok skryptu określoną liczbę razy, modyfikując daną zmienną w celu śledzenia postępu. Dzięki temu możesz wykorzystać pętlę w dość interesujących scenariuszach.

Możesz generować ciągi liczb, określać liczbę pierwszą lub wyświetlać licznik czasu. Bardziej praktycznie, możesz iterować po tablicy obiektów, wykonując jakąś akcję przy każdym wpisie.

Składnia pętli For w PowerShell

Pętle For działają w programie Windows PowerShell w taki sam sposób, jak w dowolnym języku programowania. Wyrażenia inicjujące zmienną śledzącą, testujące jej wartość i modyfikujące zmienną są umieszczane w nawiasach po „For” oddzielonych średnikami. Następnie pojawia się sama lista instrukcji ograniczona nawiasami klamrowymi.

Dla (Inicjalizacja; Warunek; Aktualizacja)

{

    Blok skryptu

Jak używać pętli For w skrypcie PowerShell

Korzystanie z pętli For jest całkiem proste. Ilekroć napotkasz sytuację wymagającą powtórzenia nieco innego kroku, powinieneś umieścić go w pętli For.

Załóżmy, że musisz napisać fragment kodu, który znajdzie sumę wszystkich liczb naturalnych aż do liczby nzawartej w zmiennej $n. Oto podstawowy przykład pętli For:

n = 10

Suma $ = 0

Dla ($i = 1; $i -le $n; $i++)

{

    $sum = $suma + $i

„Suma $n liczb naturalnych to suma $”

Dostęp do tablic poprzez pętlę For

.

Generowanie sekwencji numerycznych nie jest tym, do czego większość ludzi używa programu PowerShell. Bardziej powszechnym zastosowaniem jest iteracja po tablicy.

Załóżmy, że masz tablicę $week zawierającą siedem elementów. Listę dni zawartych w tablicy można wyprowadzić za pomocą prostej pętli For, jak pokazano w poniższym przykładzie.

For ($i = 0 ; $i -lt $tydzień.Długość ; $i++)

{

    $tydzień[$i]

Używanie pętli ForEach do szybkiej iteracji po tablicy

Inną formą pętli For jest instrukcja ForEach. Ta wersja upraszcza przeglądanie zawartości tablicy PowerShell i przetwarzanie jej indywidualnie. Na przykład poprzedni fragment kodu można przepisać w następujący sposób:

Foreach ($dzień w $tygodniu)

{

    $dzień

W przypadku bardziej złożonych obiektów możesz także użyć polecenia cmdlet Foreach-Object, aby wykonać akcję na zawartości dowolnego polecenia programu PowerShell.

Czym pętla For różni się od innych typów pętli?

Pętla For nie jest jedynym dostępnym typem instrukcji pętli. Podobnie jak większość języków programowania, PowerShell ma wiele typów pętli.

Podczas

Najprostszą z nich jest pętla While. Wszystko, co masz, to warunek i blok skryptu, a pętla działa tak długo, jak wyrażenie testowe ma wartość true. Ponieważ wyrażenie jest oceniane jako pierwsze, istnieje ryzyko, że kod w ogóle nie zostanie uruchomiony lub zakończy się jako nieskończona pętla.

Podczas (Warunek)

{

    Blok skryptu

Wykonaj podczas

Jeśli piszesz skrypt, który musi zostać uruchomiony przynajmniej raz – nawet jeśli wyrażenie ma wartość false – możesz użyć pętli Do-While. Jedyną różnicą w stosunku do pętli While jest to, że umieszcza ona blok poleceń przed warunkiem, co oznacza, że ​​kod jest wykonywany przed pierwszym sprawdzeniem wyrażenia testowego.

Zrób

    Blok skryptu

Podczas (Warunek)

Wykonaj do

Inną wersją tej pętli jest Do-Until. Zasadniczo uruchamia blok kodu, a następnie powtarza go, aż wyrażenie testowe będzie prawdziwe – czyli odwrotność pętli Do-While. Nie jest to szczególnie przydatna struktura, ponieważ to samo można osiągnąć, modyfikując warunek w standardowej pętli Do-While..

Zrób

    Blok skryptu

Do (Warunek)

Dlaczego pętla For jest lepsza

Problem ze wszystkimi innymi strukturami zapętlonymi polega na tym, że nie zawierają one wartości początkowej ani instrukcji aktualizacji. Musisz ręcznie pamiętać o utworzeniu zmiennej poza pętlą, a następnie zwiększyć ją (lub zmniejszyć) podczas każdego przebiegu pętli.

Jak można się spodziewać, programiści często zapominają o tym kroku, co prowadzi do powstania skryptu, który nie działa zgodnie z oczekiwaniami. To marnuje cenny czas na debugowanie.

Pętla For pozwala uniknąć tego problemu, wymuszając inicjalizację i inkrementację wyrażeń w nawiasach początkowych. Prowadzi to do czystszych i solidniejszych skryptów.

Kiedy należy używać pętli For w PowerShell?

PowerShell służy do tworzenia skryptów do automatyzacji. Prawdopodobnie najbardziej użytecznym narzędziem do osiągnięcia tego celu jest pętla For. Możesz go użyć do zastąpienia wielu operacji kopiowania i wklejania bardziej zwartym, eleganckim pismem.

Najpopularniejszą funkcją tej pętli jest iteracja po tablicy, po jednym wpisie na raz. Aby uzyskać jeszcze bardziej usprawniony skrypt, możesz również użyć pętli ForEach. Możesz także użyć pętli For do wygenerowania sekwencji numerycznych, chociaż jest to rzadko potrzebne.

Pętla For ma przewagę nad innymi algorytmami pętli, włączając w parametry wszystkie podstawowe funkcje pętli, co zapobiega błędom wynikającym z zapomnienia tych instrukcji. To sprawia, że ​​pętla For jest niezbędna w każdym scenariuszu wymagającym powtórzenia zestawu poleceń.

.

Powiązane posty:


5.04.2022