Mentett Billentyűleütéseket

az elején, volt egy parancsmagot…

a Legtöbb alkalommal, amikor hiszem, hogy írd meg a PowerShell, akkor általában belül az első sorok egy Get-ChildItem, akkor elkerülhetetlenül egy minden hurok.

Általában azt írnám, mint a foreach($item in $items), de egy alkalommal az automatikus kiegészítés jött a tömb változó egy .ForEach lehetőséget, Nem tudtam, hogy a helyes használatát, hogy ez így próbáltam a szokásos

Get-Help ForEach -ExamplesGet-Help ForEach -Online

ez nem az igazi, ezt a lehetőséget (hogy őszinte legyek, talán nem ment el, hogy a megfelelő segítséget a PS), így rákerestem, hogy ugyanaz a dolog, amely kezdetben elvitt egy hasonló oldalt ss64.com, de adtak egy linket más ForEach opciók, amelyek közül az egyik tartalmazza, hogyan kell használni a ForEach (módszer)

hogyan kell használni .ForEach

lássuk, ha tudom magyarázni a kódot:

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

Mint látható, ebben a formában, írok egy ForEach még lehetővé teszi, hogy egy többsoros nyilatkozatot, amíg tudod, hogy milyen tulajdonságok maga után, hogy nem a $_ tárgy (de tudom, hogy így lesz).

Óvakodj a sárkányoktól

van valami, amit tudni kell a PowerShell 3. verziójában. Ha a$array null lehet, akkor ezt ellenőriznie kell a műveletek elvégzése előtt.

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

Ha a PowerShell 2-t használta, akkor már tudatában lehet ennek a problémának a tömbökkel.

a PowerShell 3-ban vagy a foreach-hurok felett A null array objektumokat automatikusan kezeli, de csak akkor, ha a PowerShell 5-et használja, a ForEach-módszer null tömböket kezel.

szóval … tetszik?

Related Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük