No there is no built in loop counter.  You have to add your own if you need one.

On Wed, Aug 14, 2013 at 11:19 PM, Aakash Shah <[email protected]> wrote:
> Thanks for responding.
>
>
>
> I am able to access the array value at a specific index.  So in the example
> below, I am able to successfully access the letter “c” if I use
> “$arrLetters[2]”.
>
>
>
> However, what I would like to do is be able to identify what iteration loop
> number the script is currently processing from within the foreach loop using
> a built in method without needing to manually create and increment a counter
> variable.
>
>
>
> One example of where I would like to use this is:
>
>
>
> $arrAnimals = @("dog", "cat", "horse", "snake")
>
>
>
> foreach ($strAnimal in $arrAnimals)
>
> {
>
>      Write-Host (“Loop count: “ + <ForEachLoopCounter>)
>
>      Write-Host $strAnimal
>
> }
>
>
>
> Is there a built in method to determine what the <ForEachLoopCounter> is
> without needing to create a counter variable and increment it manually on
> each iteration?
>
>
>
> Thanks,
>
>
>
> -Aakash Shah
>
>
>
> From: [email protected] [mailto:[email protected]]
> On Behalf Of CESAR.ABREG0 .
> Sent: Wednesday, August 14, 2013 7:35 PM
> To: [email protected]
> Subject: Re: [powershell] Current Position In ForEach Loop
>
>
>
> I'm most likely wrong but wouldnt this give you C on index 0.
> $strLetter [2]
>
> @ the beach now ;) but will check it when I get home. PowerGUI gives you
> this info easy when debuging
>
> On Aug 14, 2013 7:07 PM, "Aakash Shah" <[email protected]> wrote:
>
> Is there an elegant way to get the current position in a ForEach loop
> without needing to initiate a variable and then increment it on each
> iteration?
>
>
>
> For example, if I have the code below:
>
>
>
> $arrLetters = @("a", "b", "c", "d")
>
>
>
> foreach ($strLetter in $arrLetters)
>
> {
>
>      Write-Host $strLetter
>
> }
>
>
>
> In this example, if the loop reaches “c”, is there some built in method to
> discover that the current iteration loop is # 2 (or #3 if the index starts
> at 1 instead of 0).
>
>
>
> It’s not necessarily a problem to initiate a “counter” variable, but I was
> just curious to know if there is a cleaner way.
>
>
>
> I am using PowerShell 3 in case that helps.
>
>
>
> Thanks!
>
>
>
> -Aakash Shah
>
>
>
>
> ================================================
> Did you know you can also post and find answers on PowerShell in the forums?
> http://www.myitforum.com/forums/default.asp?catApp=1
>
>
> ================================================
> Did you know you can also post and find answers on PowerShell in the forums?
> http://www.myitforum.com/forums/default.asp?catApp=1
>
>
> ================================================
> Did you know you can also post and find answers on PowerShell in the forums?
> http://www.myitforum.com/forums/default.asp?catApp=1


================================================
Did you know you can also post and find answers on PowerShell in the forums?
http://www.myitforum.com/forums/default.asp?catApp=1

Reply via email to