Kako PowerShell For petlja može pokrenuti naredbu više puta

Petlja For jedan je od najvrednijih alata u bilo kojem programskom jeziku(valuable tools in any programming language) , a  Microsoft PowerShell nije ništa drugačiji. Možete koristiti druge petlje za ponavljanje naredbi, ali petlja For je možda najjednostavnija.

Od ponavljanja nizova do izvršavanja funkcije unaprijed određenog broja puta, postoji mnogo stvari koje možete postići ovim alatom. Ovdje je vodič o tome kako koristiti For petlje u PowerShellu(PowerShell) .

Koja je upotreba(Use) za petlje(Loops) u PowerShellu(PowerShell) ?

Za razliku od naredbenog retka(Command Prompt) , PowerShell je cjelovito okruženje za skriptiranje. To znači da možete pisati PowerShell skripte(PowerShell scripts) za višekratnu upotrebu za automatsko izvršavanje zadataka umjesto da ručno unosite naredbe. A petlje For su ključ za pisanje ovih modula.

Naredba For ponavlja blok skripte određeni broj puta, mijenjajući danu varijablu kako bi pratio napredak. To vam omogućuje da koristite petlju za neke prilično zanimljive scenarije.

Možete generirati nizove brojeva, odrediti prosti broj ili prikazati mjerač vremena. Praktičnije, možete iterirati niz objekata, izvodeći neku radnju sa svakim unosom.

Sintaksa petlje(Loop) For u PowerShellu (PowerShell)_(Syntax)

For petlje rade u Windows PowerShell -u na isti način na koji rade u bilo kojem programskom jeziku. Izrazi koji inicijaliziraju varijablu praćenja, testiraju njezinu vrijednost i modificiraju varijable nalaze se unutar zagrada nakon "For", odvojeni točkom i zarezom. Zatim dolazi sam popis izjava vezan vitičastim zagradama.

Za ( inicijalizacija(Initialization) ; stanje(Condition) ; ažuriranje(Update) )

{

    Blok skripte(Script Block)

}

Kako koristiti petlju(Loop) For u PowerShell skripti(PowerShell Script)

Korištenje petlje For prilično je jednostavno. Kad god naiđete na situaciju koja zahtijeva ponavljanje malo promjenjivog koraka, trebali biste ga staviti u petlju For.

Recimo da trebate napisati isječak koda koji može pronaći zbroj svih prirodnih brojeva do broja n sadržan u varijabli $n. Evo osnovnog primjera For petlje:

$n = 10

$zbroj = 0

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

{

    $zbroj = $zbroj + $i

}

"Zbroj $n prirodnih brojeva je $sum"

Pristup nizovima kroz For petlju

Generiranje numeričkih nizova teško da je ono za što većina ljudi koristi PowerShell . Češća upotreba je ponavljanje niza.

Recimo(Say) da imate niz $week sa sedam elemenata. Možete ispisati popis dana sadržanih u nizu pomoću jednostavne For petlje, kao što je prikazano u sljedećem primjeru.

Za ($i = 0; $i -lt $week.Length; $i++)

{

    $tjedan[$i]

}

Korištenje petlje ForEach(ForEach Loop) za brzo(Quickly Iterate) ponavljanje niza

Drugi oblik For petlje je izraz ForEach(ForEach) . Ova verzija pojednostavljuje prolazak kroz sadržaj PowerShell niza i njihovu obradu pojedinačno. Prethodni isječak koda, na primjer, može se prepisati ovako:

Foreach ($dan u $tjedno)

{

    $dan

}

Kada radite sa složenijim objektima, također možete koristiti cmdlet Foreach-Object za izvođenje radnje nad sadržajem bilo koje naredbe PowerShell .

Po čemu se petlja For razlikuje(Loop Different) od drugih vrsta (Types)petlji(Loops) ?

Petlja For nije jedina vrsta izraza petlje koja vam je dostupna. Kao i većina programskih jezika, PowerShell ima više vrsta petlji.

Dok

Najjednostavniji od njih je petlja While. Sve što imate je uvjet i blok skripte, a petlja se izvodi sve dok testni izraz ima vrijednost istinitu. Budući da se izraz prvo evaluira, postoji šansa da se kod uopće ne pokrene ili da završi kao beskonačna petlja. 

dok ( uvjet(Condition) )

{

    Blok skripte(Script Block)

}

Do-Dok

Ako pišete skriptu koja se mora pokrenuti barem jednom – čak i ako je izraz netočan – tada možete koristiti Do-While petlju. Jedina razlika u odnosu na petlju While je u tome što postavlja blok naredbi ispred uvjeta, što znači da se kod izvršava prije prve provjere testnog izraza.

Čini {

    Blok skripte(Script block)

}

dok ( uvjet(Condition) )

Do-Do

Druga verzija ove petlje je Do-Until . U osnovi(Basically) , pokreće blok koda i zatim ga ponavlja sve dok testni izraz nije istinit – obrnuto od Do-While petlje. Nije osobito korisna struktura, jer istu stvar možete postići modificiranjem uvjeta u standardnoj Do-While petlji.

Čini {

    Blok skripte(Script Block)

}

Do ( uvjet(Condition) )

Zašto je For Loop bolja

Problem sa svim tim drugim strukturama u petlji je taj što ne uključuju početnu vrijednost ili naredbe ažuriranja. Morate se sjetiti ručno kreirati varijablu izvan petlje, a zatim je povećati (ili smanjiti) tijekom svakog prolaza petlje.

Kao što možete očekivati, programeri često zaborave ovaj korak, što dovodi do skripte koja ne radi kako je predviđeno. Time se gubi dragocjeno vrijeme u otklanjanju pogrešaka.

Petlja For izbjegava ovaj problem tako što zahtijeva inicijalizaciju i inkrement izraza unutar početnih zagrada. To dovodi do čišćih, robusnijih skripti.

Kada biste trebali koristiti petlju(Loop) For u PowerShellu(PowerShell) ?

PowerShell je sve o stvaranju skripti za automatizaciju. A vjerojatno najkorisniji alat za postizanje toga je petlja For. Možete ga koristiti za zamjenu mnogih operacija kopiranja i lijepljenja kompaktnijom, elegantnijom skriptom.

Najčešća funkcija ove petlje je ponavljanje niza, jedan po jedan unos. Za još jednostavniju skriptu možete koristiti i ForEach petlju. Također možete koristiti petlju For za generiranje numeričkih nizova, iako je to rijetko potrebno.

Petlja For daje rezultate u odnosu na druge algoritme petlje uključivanjem svih bitnih funkcija petlje u parametre, sprječavajući bilo kakve pogreške zbog zaboravljanja tih izjava. To čini petlju For nezamjenjivom u svakom scenariju koji zahtijeva ponavljanje skupa naredbi.



About the author

U poslu je sve u stvaranju vrijednosti za vaše klijente i kupce. Usredotočen sam na pružanje uputa korak po korak koje pomažu mojim čitateljima da izvuku najviše iz svog hardvera i softvera, koristeći Microsoft Office. Moje vještine uključuju instalaciju tipkovnice i upravljačkih programa, kao i podršku za Microsoft Office. Uz svoje dugogodišnje iskustvo u industriji, mogu vam pomoći da pokrijete sve hardverske ili softverske potrebe koje možda imate.



Related posts