larryq
larryq

Reputation: 16309

retrieve array index inside Powershell foreach loop?

I have a loop that uses the foreach keyword:

foreach ($ln in Get-Content "c:\ATextFile.txt" )

Is it possible to find out the array index referred to by $ln during the iteration? Or do I need to create and increment a separate counting variable for each loop iteration?

Upvotes: 5

Views: 9592

Answers (2)

Staffan Gustafsson
Staffan Gustafsson

Reputation: 354

Get-Content also add a ReadCount NoteProperty with the current line number.

Get-Content foo.txt  | foreach { '{0} {1}' -f $_.ReadCount, $_ }

Upvotes: 4

manojlds
manojlds

Reputation: 301147

Yes, either use a for loop (something like (gc c:\ATextFile.txt).count would be the upper limit ) or an external counter.

Related answer ( for C#, but basically both use the same enumerable concepts): How do you get the index of the current iteration of a foreach loop?

Upvotes: 3

Related Questions