Tasti salvati

All’inizio, c’era un cmdlet Most

La maggior parte delle volte, quando pensi di scrivere qualcosa in PowerShell, di solito troverai nelle prime righe un Get-ChildItem, avrai inevitabilmente un per ogni ciclo.

di solito mi sento di scrivere questo come foreach($item in $items), ma in un’occasione il completamento automatico è venuto sulla variabile di array con un .ForEach opzione, Non sapevo che il corretto utilizzo di questo così ho provato il solito

Get-Help ForEach -ExamplesGet-Help ForEach -Online

Come questo in realtà non vedi questa opzione (per essere onesti, io non sono andato per il giusto aiuto da PS) così ho cercato su google la stessa cosa, che inizialmente mi ha portato ad una pagina simile sulla ss64.com, ma hanno fornito un link ad altre opzioniForEach, una delle quali conteneva come usare il ForEach (Method)

Come usare .ForEach

vediamo se posso spiegarlo in codice:

$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.})

Come puoi vedere, questa forma di scrittura di un ForEach consente ancora un’istruzione multilinea, e finché sai quali proprietà sei dopo non devi mai impostare l’oggetto ForE _ (ma so che lo farò).

Attenzione ai draghi

C’è qualcosa di cui essere consapevoli nella versione 3 di PowerShell. Se $array potrebbe essere null, è necessario inserire un controllo prima di eseguire le azioni.

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

Se hai usato PowerShell 2, potresti essere già a conoscenza di questo problema con gli array.

In PowerShell 3 e sopra il ciclo foreach gestisce automaticamente gli oggetti array null, ma non sarà fino a quando non si utilizza PowerShell 5 che il metodo ForEach gestisce gli array null.

Quindi I mi piace?

Related Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *