Wprowadzenie do pętli w PowerShell

Zawsze będziemy potrzebować pętli, jeśli mamy coś powtarzalnego, W pętli uruchamiamy fragment kodu lub dowolną instrukcję w sposób powtarzalny. Jeden prawdziwy przykład, załóżmy, że w szkole jest 20000 studentów iz jakiegoś powodu uniwersytet postanowił przyznać każdemu studentowi dodatkowe 5 punktów za egzaminy. Tak więc uniwersytet postanowił przyznać te 5 ocen każdemu studentowi, z wyjątkiem tych, których frekwencja jest krótsza niż 100 dni. Teraz zakładasz, jak to zrobią pracownicy, będą musieli sprawdzić oceny każdego ucznia i frekwencję w danym roku. Ale to samo przy pomocy Any loop można było zrobić bardzo łatwo, tworząc szereg uczniów z ich ocenami i datami obecności. Dzięki temu za pomocą pętli jesteśmy w stanie zaoszczędzić dodatkowe wysiłki. Pozwól nam szczegółowo zrozumieć Pętle w PowerShell.

Rodzaje pętli w PowerShell

Istnieje wiele sposobów uruchamiania pętli w PowerShell, ale zawsze zależy to od twoich wymagań i wykonalności programu, na przykład, jeśli chcesz uruchomić przynajmniej raz dla dowolnej tablicy, powinniśmy użyć pętli do-while, w przeciwnym razie istnieje pętla i dla każdego, co jest dobre .

Typy i ich przykłady podano poniżej:

1. While

Chociaż instrukcja przyjmuje warunek jako argument, a wykonanie instrukcji w pętli while zależy od warunku, oznacza to, że jeśli warunek zakończy się sukcesem, wykona instrukcję w innym przypadku.

Składnia:

while(condition)
(
Statement 1
Statement 2
….
)

Przykład:

$j = 0
while($j -lt 10)
(
Write-Output $j
$j++ )

Poniżej znajduje się ekran do wykonania powyższego kodu

2. Do While

Wykonaj while jest podobna do różnicy tylko pętli while, ponieważ wykona się co najmniej raz, co oznacza, że ​​wykona blok po raz pierwszy, a blok, jeśli warunek jest spełniony. W poniższej składni blok na pewno zostanie wykonany po raz pierwszy.

  • Wykonaj : Ten blok jest wykonywany po raz pierwszy i raz po rozpoczęciu wykonywania.
  • Podczas gdy : Wykonanie instrukcji 1 i instrukcji 2 całkowicie zależy od powodzenia warunku.

Składnia:

Do
(
Statement 1
Statement 2
….)while(condition)(
Statement 3
Statement 4
…..
)

Przykład 1:

$j = 0
do
(
Write-Output $j // this block will execute first time
$j++
)while($j -lt 10)

Przykład 2:

W tym przykładzie blok zostanie wykonany po raz pierwszy, nawet warunek nie był spełniony.

$j = 0
do
(
Write-Output $j
$j--
)while($j -gt 0)

Ekran obu programów pokazano poniżej

3. Czyń do

Wykonaj do, aż niewiele się różni od wykonania w tym czasie, dopóki wykonanie będzie kontynuowane aż do zwrócenia ujemnego wyniku przez „aż do bloku”. Dwie rzeczy są tutaj ważne.

  • Wykonaj : Blok będzie działał do momentu, aż warunek bloku nie powiedzie się, co oznacza, że ​​blok zwróci wartość ujemną.
  • Do : Wykonaj instrukcje blokowe 1 i 2, dopóki warunki nie zwrócą wyników negatywnych.

Składnia:

do
(
Statement 1
Statement 2
….
)until(condition)

Przykład:

$i = 0
do
(
Write-Output $i
$i++
)until($i -ge 5) //keep checking condition

W bloku „do do” możemy zobaczyć, że wykonanie do bloku będzie kontynuowane, dopóki warunek „do bloku” nie zwróci wartości dodatniej.

Poniżej znajduje się ekran do wykonania powyższego kodu

4. Dla

Dla instrukcji działa lista instrukcji zero lub więcej razy w oparciu o ustawienie początkowe. W poniższej składni pętli for istnieją trzy ważne sekcje

  • Sekcja inicjalizacji : W tej sekcji przypisano wartość początkową dowolnej zmiennej, ta sekcja uruchamia się po raz pierwszy.
  • Warunek : W częściach warunku zapisujemy nasz warunek, dla którego uruchomiona zostanie pętla, co oznacza, że ​​wykonanie bloku instrukcji zawsze zależy od powodzenia części warunku, jeśli warunek jest prawdziwy, wówczas blok instrukcji wykona się inaczej.
  • Operacja : W tym bloku możemy zwiększyć, zmniejszyć lub zmienić wartość inicjalizacji zmiennej lub dowolnych rzeczy zgodnie z naszymi wymaganiami.

Składnia:

for($initialisation; condition; operation)
(
Statement 1
Statement 2
….
)

Przykład 1:

for($i = 0; $i -lt 3; $i++)
(
Write-Output $i
)

Ekran wyjściowy powyższego kodu

Wiele razy jedna dla pętli nie wystarcza do spełnienia naszych wymagań, więc możemy użyć zagnieżdżonej dla pętli. Powinniśmy starać się unikać zagnieżdżania się pętli, ponieważ ich złożoność czasowa może być bardzo wysoka, jeśli nie jest odpowiednio obsługiwana. Poniżej znajduje się przykład zagnieżdżonej pętli for.

Przykład 2:

for($j = 0; $j -lt 3; $j++)
(
$line = ''for($j = 0; $j -lt 3; $j++)
(
$line += $j.ToString() + $j.ToString() + ' '
)
Write-Output $line
)

Wyjście: 00 11 22

5. ForEach

„Foreach” uruchamia bloki instrukcji po raz kolejny do ostatniego elementu tablicy. Zaletą instrukcji forEach jest to, że nie musimy pisać osobnego kodu w celu wyodrębnienia tablicy elementów. Ogólnie „foreach” jest zoptymalizowaną wersją pętli „for”, która daje wewnętrzny element tablicy bez pisania programów. Tutaj po prostu sprawdza pozycję wewnątrz tablicy, na której działamy pętlę „foreach”, jeśli jakikolwiek element tam jest, wykona bloki instrukcji 1 i 2.

Składnia:

foreach($arrayItems)
(
Statement 1
Statement 2
…..
)

Przykład:

$numbers = 23, 21, 22, 78
foreach($number in $numbers)
(
“$number is now =“ +$number
)

Poniższy ekran pokazuje powyższe wykonania

Korzyści z pętli w PowerShell

Największą zaletą korzystania z pętli jest to, że zmniejsza ona zbyt wiele pracy ręcznej, a także bardzo dobrze jest kontrolować duży rozmiar danych dla podobnego rodzaju aktywności na nim. Powiedzmy, że chcę, abyś wydrukował 1 do 1000000 i powiedziałem ci, że możesz dodać 1 do każdej liczby podzielnej przez 2, która jest liczbą parzystą. Następnie, jeśli zaczniesz drukować jeden po drugim i spróbujesz dodać 1 do każdej liczby parzystej, zajmie to zbyt dużo czasu. Tak więc, sugerowanym przez ciebie lepszym i prostszym sposobem było po prostu powtórzenie tego procesu dodawania jednego do liczby, aż osiągniemy 1000000. Największą korzyścią, jaką otrzymujemy z pętli, jest to, że ponownie wykorzystujemy ten sam fragment kodu, nie musimy pisać ten sam kod dla tysięcy danych, automatycznie wykona kod do końca.

Poniżej znajduje się kilka punktów Korzyści

  • Zwiększyć możliwość ponownego użycia kodu, co zmniejsza kod
  • Szybsze obliczanie dużych zbiorów danych, oszczędzając dużo pracy fizycznej
  • Redundancja kodu jest mniejsza.

Przykład z jego zaletami

Pytanie: wydrukuj do 1000.

Without loop,
Write-Output 1;
Write-Output 2;
Write-Output 3;
Write-Output 4;
…so on
Till 100

With loop,
$x=1..100
foreach($y in $x)(
Write-Output $y;
)

Polecane artykuły

To był przewodnik po pętlach w PowerShell. Tutaj omawiamy rodzaje pętli w PowerShell wraz z ich zaletami. Odkryliśmy, że pętle są bardzo potężnym narzędziem, które wymaga mniej wysiłku, aby używać tego samego kodu. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Co to jest Skrypty powłoki?
  2. Funkcje ciągów PowerShell
  3. Operatory PowerShell
  4. Polecenia PowerShell
  5. Przykłady tablic w PowerShell

Kategoria: