Jak PowerShell For Loop może wielokrotnie uruchamiać polecenie?

Pętla For jest jednym z najcenniejszych narzędzi w każdym języku programowania(valuable tools in any programming language) , a  Microsoft PowerShell nie jest wyjątkiem. Możesz użyć innych pętli do powtórzenia poleceń, ale pętla For jest prawdopodobnie najprostsza.

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

Jaki jest pożytek z (Use)pętli(Loops) For w PowerShell ?

W przeciwieństwie do Command Prompt , PowerShell jest kompletnym środowiskiem skryptowym. Oznacza to, że możesz pisać skrypty PowerShell(PowerShell scripts) 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ą, aby śledzić postęp. Pozwala to wykorzystać pętlę w kilku dość interesujących scenariuszach.

Możesz generować sekwencje 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(Loop) For w PowerShell _(Syntax)

Pętle For działają w środowisku 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ą umieszczone w nawiasach klamrowych po „For”, oddzielonych średnikami. Następnie pojawia się sama lista instrukcji związana nawiasami klamrowymi.

Dla ( inicjalizacja(Initialization) ; warunek(Condition) ; aktualizacja(Update) )

{

    Blok skryptu(Script Block)

}

Jak korzystać z pętli(Loop) For w skrypcie PowerShell(PowerShell Script)

Korzystanie z pętli For jest dość proste. Za każdym razem, gdy napotkasz sytuację, która wymaga powtórzenia nieco innego kroku, powinieneś umieścić ją w pętli For.

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

$n = 10

suma $ = 0

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

{

    $sum = $sum + $i

}

„Suma $n liczb naturalnych to $sum”

Uzyskiwanie dostępu do tablic za pomocą pętli For

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

Załóżmy(Say) , że masz tablicę $tydzień z siedmioma elementami. Listę dni zawartych w tablicy można wyprowadzić za pomocą prostej pętli For, jak pokazano w poniższym przykładzie.

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

{

    $tydzień[$i]

}

Używanie pętli ForEach(ForEach Loop) do szybkiej iteracji(Quickly Iterate) przez tablicę

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

Foreach ($dzień w $tydzień)

{

    $dzień

}

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

Czym różni się pętla (Loop Different)For(Loops) od innych rodzajów(Types) 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 rodzajów pętli.

Chwila

Najprostszym 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 szansa, że ​​kod w ogóle się nie uruchomi lub skończy jako nieskończona pętla. 

Chociaż ( warunek(Condition) )

{

    Blok skryptu(Script Block)

}

Do-Chwila

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 . Jedyna różnica w stosunku do pętli While polega na tym, że umieszcza blok poleceń przed warunkiem, co oznacza, że ​​kod jest wykonywany przed pierwszym sprawdzeniem wyrażenia testowego.

Robić {

    Blok skryptu(Script block)

}

Chociaż ( warunek(Condition) )

Rób dopóki

Inną wersją tej pętli jest Do-Until . Zasadniczo(Basically) uruchamia blok kodu, a następnie powtarza go, aż wyrażenie testowe będzie prawdziwe — 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 .

Robić {

    Blok skryptu(Script Block)

}

Do ( Warunek(Condition) )

Dlaczego pętla For jest lepsza

Problem z tymi wszystkimi innymi strukturami pętli polega na tym, że nie zawierają one początkowej wartości ani instrukcji aktualizacji. Musisz ręcznie pamiętać, aby utworzyć zmienną poza pętlą, a następnie ją zwiększać (lub zmniejszać) podczas każdego przejścia pętli.

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

Pętla For pozwala uniknąć tego problemu, wymagając wyrażeń inicjalizacji i przyrostu w nawiasach początkowych. Prowadzi to do czystszych, bardziej niezawodnych skryptów.

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

PowerShell polega na tworzeniu skryptów do automatyzacji. I prawdopodobnie najbardziej przydatnym narzędziem do osiągnięcia tego jest pętla For. Możesz go użyć do zastąpienia wielu operacji kopiuj-wklej bardziej kompaktowym, eleganckim skryptem.

Najczęstszą 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 również użyć pętli For do generowania sekwencji liczbowych, chociaż jest to rzadko potrzebne.

Pętla For przewyższa inne algorytmy zapętlania, włączając wszystkie istotne funkcje pętli do parametrów, zapobiegając wszelkim 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ń.



About the author

inżynier audiofilski i specjalista ds. produktów audio z ponad 10-letnim doświadczeniem. Specjalizuję się w tworzeniu wysokiej jakości głośników muzycznych i słuchawek od początku do końca. Jestem ekspertem w rozwiązywaniu problemów z dźwiękiem oraz projektowaniu nowych głośników i systemów słuchawkowych. Moje doświadczenie wykracza poza samo tworzenie dobrych produktów; Mam również pasję pomagania innym w byciu jak najlepszymi, czy to poprzez edukację, czy pracę społeczną.



Related posts