Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Příkaz continue uvnitř cyklů ForEach-Object a foreach
červenec 30
Příkaz continue uvnitř cyklů ForEach-Object a foreach

To jsou zase nestandardnosti. Sakra. Zkuste použít příkaz continue uvnitř ForEach-Object a ono to ten cyklus prostě natvrdo ukončí:

get-process | % {

  if ($_.Name -like 'svchost*') {

    continue

  } else {

    echo $_.Name
  }
}

Zatímco v podstatě shodná konstrukce, jenom využívající "programátorský přístup" a continue uvnitř foreach cyklu jede tak jak má:

foreach ($proces in (get-process)) {

  if ($proces.Name -like 'svchost*') {

    continue

  } else {

    echo $proces.Name
  }
}

 

Comments

foreach vs foreach-object

ja myslim, ze to funguje spravne.
1. get-process cely vystup predal foreach-object, ktery se zpracovava jako celek a ze ktereho jsi vyskocil ven

2. get-process cely vystup predal foreach, ktery to projizdi postupne, polozku po polozce a kdyz z toho vyskocis, tak se zahodi jen aktualni polozka a foreach pokracuje dal
VasekB on 31.7.2013 20:34

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments