PowerShell foreach, First expression runs once and the next expressions runs in loop -
in below powershell statement, looks first expression in {} runs once second expression in {} runs each of pipeline output, why?
1..5 | foreach{ write-host "run once!!" }{ write-host "loop"}
output: run once!! loop loop loop loop loop
any specific reason why first expression after foreach runs once?
the way write makes run advanced function begin/process/end construct. so:
ps c:\> 1..5 | foreach -begin{ write-host 'run once!!' }-process { write-host 'loop'} -end{write-host 'finished!'} run once!! loop loop loop loop loop finished!
you want when specific requires several steps process, so:
begin { connect } process { number of things } end { disconnect }
Comments
Post a Comment