gemte tastetryk

i begyndelsen var der en cmdlet…

de fleste gange, når du tænker på at skrive noget i Kraftshell, finder du normalt inden for de første linjer en Get-ChildItem, vil du uundgåeligt have en for hver løkke.

normalt ville jeg skrive dette som foreach($item in $items), men ved en lejlighed kom autofuldførelsen op på array-variablen med en .ForEach valgmulighed, jeg vidste ikke den korrekte brug af dette, så jeg prøvede den sædvanlige

Get-Help ForEach -ExamplesGet-Help ForEach -Online

da dette ikke rigtig viste denne mulighed (for at være ærlig har jeg måske ikke gået til den rigtige hjælp fra PS), så jeg googlede det samme, som oprindeligt tog mig til en lignende side på ss64.com, men de gav et link til andre ForEach indstillinger, hvoraf den ene indeholdt, hvordan man bruger ForEach (metode)

Sådan bruges .ForEach

lad os se, om jeg kan forklare det i kode:

$items.ForEach({# This exposes the $_ object, but I find that it doesn't know what each item is.# So I often find myself setting that to a new variable.$item = $_#I guess as you learn more and more you become versed in the ways of the object and can free type out the properties you need.})

som du kan se, tillader denne form for skrivning af en ForEach stadig en multiline-erklæring, og så længe du ved, hvilke egenskaber du er, når du aldrig behøver at indstille $ _ – objektet (men jeg ved, at jeg vil).

pas på drager

der er noget at være opmærksom på i Kraftshell version 3. Hvis $array kunne være null, skal du sætte en check for det, før du gør dine handlinger.

if($items -ne $null){...}

Hvis du har brugt Strømshell 2, kan du være opmærksom på dette problem med arrays allerede.

i Kraftshell 3 og over foreach-sløjfen håndterer null array-objekter automatisk, men det vil ikke være, før du bruger Strømshell 5, at ForEach-metoden håndterer null-arrays.

så … kan jeg lide det?

Related Posts

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *