Introduktion till PowerShell ForEach Loop

Förstå ForEach Loop i PowerShell, ForEach och forLoop båda utför samma uppgifter, båda är för att manipulera och utföra samma kodkod på repetitiv basis. Om du läser varje element i en matris eller det kan läsa varje rad i en fil, i en sådan typ av tillstånd använder vi förhand. Till exempel en matris som innehåller användare och vi vill kontrollera användaren med namnet "Vijay", så vi måste kontrollera varje element och för det behöver vi en "foreach" -slinga och när användaren "Vijay" hittade loop kommer att avsluta. Om du behövde titta på stadens attribut för varje användare innan du vidtar en åtgärd, kan du använda ForEach Loop och du kan utföra respektive arbete på varje city.ForEach sparar lite minne och tid jämfört med för loop. I PowerShell 4.0 och senare version ger ForEach-metoden ännu snabbare prestanda.

Syntax för ForEach Loop

Nedan är syntaxen

foreach ($ in $)
(


)

I ovanstående syntax, kan vi se, varje gång en artikel från Actualarray kommer att plockas och den artikeln kommer att behandlas inuti förhandslingan. Om $ är tomt eller inte har något föremål inuti det, kommer det inte att gå till verkställandet av uttalanden. PowerShell skapar variabeln automatiskt när Foreach-slingan körs. Till exempel visar Foreach-slingan i följande exempel värdena i $ student-arrayen. I för loop behövde vi skriva logik för att kontrollera om matrisen är tom eller inte. Foreach-loopen kör uttalanden blockerar om det finns något element inuti arrayen.

Koda:

$students = ""
PS /home/ranjan> foreach ($student in $students)
(
Write-Host $student
)
output nothing, which means checking of array elements attributes are done internally by foreach loops.
$students = "ajay", "vijay", "ranjan", "akash", ”vikash”
foreach ($student in $students)
(
Write-Host $student
)

Utmatnings- och kodskärmar:

Flödesschema för PowerShell ForEach Loop

Nedan är flödesschemat för PowerShell ForEach Loop:

Förklaring av ovanstående flödesschema: Ovanstående flödesschema representerar mycket tydligt flöde. När exekveringen startar först kommer den att kontrollera efter data (kontrollera om elementet finns där i matrisen) om det är tom slinga kommer att stoppas. Men om data finns där kommer det att fortsätta exekveringen och utföra uttalande 1, uttalande 2, uttalande 3 till sista uppsättningsdata. När Array får tom slinga stoppa körningen.

Produktion:

Förklaring av ovanstående utgång: Ovanför skärmen visar det, om det fanns två attribut inuti arrayen, det skrivs ut två gånger, hej, men om vi gjorde $ studenter som en tom matris inget hej utskrift, betyder det att om något attribut är tillgängligt inuti $ studenter array än det kommer att utföra uttalande block annars det inte kör.

Hur fungerar ForEach Loop i PowerShell?

Anta att vi har fyra element och vi vill multiplicera varje nummer med fem. Anta att vi har $ a, $ b, $ c, $ d och vi måste multiplicera var och en med 5 så vad vi kommer att göra, titta nedan exempel:

Exempelkod:

$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25

Därför fick vi vårt resultat. Men det var bra tills vi bara har 4 objekt att multiplicera med 5, antar att det kommer att finnas 10000 element som behöver multipliceras med 5 då skulle det vara en mycket tråkig uppgift att skriva för varje.

Så vad skulle vara en enkel lösning för det? Allt vi behöver göra är att vi ska skapa en matris med alla våra element och passera matrisen genom förhand och multiplicera varje element med 5. För att multiplicera siffran fem till vart och ett av elementen i matrisen måste vi gå igenom matrisen genom att använda kommandot ForEach.

Här är hela skriptet:

Koda:

$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)

Produktion:

Förklaring av koden ovan: I ovanstående exempel kan vi se, vi definierade varandra variabeln $ f och tilldelade alla fyra variabler till den, vilket gör det till en matris. Slutligen passerar vi den från förhandslingan som gav oss ett resultat av 10, 20, 45, 25. På detta sätt underlättar vi våra liv, eftersom det i verkligheten skulle finnas lakhs av rekord som måste modifieras, så vi kan inte göra det en efter en så vi använder förhandslingan för att hantera dessa. Kör bara en gång och ändra så många som posten du vill.

Exempel i PowerShell ForEach Loop

Nedan är exemplet i PowerShell ForEach Loop:

Exempel 1

Gå igenom en rad strängar som innehåller elevernas namn och hitta längden på varje sträng inuti matrisen.

Koda:

$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)

Utgång: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Exempel 2

Låt mig ge dig ett verkligt exempel. I undersökningar har du sett 30 poäng av 100 som tidigare var godkända betyg. Så antar att det finns lakar av student och det finns en regel om någon student får 27 poäng ger honom 30 betyg, det betyder bara att du lägger till 3 poäng extra i hans 27 betyg. Så vi går igenom en mängd elevernas betyg och lägger till 3 poäng om deras poäng är 27 och låter dem gå vid tentamen eftersom 30 betyg är godkända.

Koda:

$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)

Output: Det fanns två studenter men att manuellt kontrollera lakhs av studenter för 27 betyg var en lite tråkig uppgift som vi löst.

Exempel 3

Ett annat exempel, Hitta alla siffror mellan 1 och 100 som är helt delbara med 10.

Koda:

$numbers (1..100)
foreach ($number in $numbers)
(
if ( -not ($number % 10) )
(
"$number is totally divisible by 10"
)
)
10 is totally divisible by 10
20 is totally divisible by 10
30 is totally divisible by 10
40 is totally divisible by 10
50 is totally divisible by 10
60 is totally divisible by 10
70 is totally divisible by 10
80 is totally divisible by 10
90 is totally divisible by 10
100 is totally divisible by 10

Produktion:

Slutsats

Avslutningsvis tillåter en förhandslinga-uttalande oss att utföra ett uttalande eller en grupp uttalanden flera gånger tillsammans med att kontrollera tillgängligheten i elementet som betyder att köra nästa uttalande om det finns några element. Foreach-slingor körs endast om det finns några element i matrisen, vilket gör det annorlunda än för slinga.

Rekommenderade artiklar

Detta är en guide till PowerShell ForEach Loop. Här diskuterar vi hur fungerar ForEach Loop i PowerShell?, med olika exempel. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer -

  1. För slinga i R
  2. Vad är PowerShell
  3. Användningar av Powershell
  4. Hur man installerar PowerShell
  5. Array i PowerShell | exempel

Kategori: