5

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?

larryq
  • 15,713
  • 38
  • 121
  • 190

2 Answers2

4

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

Get-Content foo.txt  | foreach { '{0} {1}' -f $_.ReadCount, $_ }
Emperor XLII
  • 13,014
  • 11
  • 65
  • 75
3

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?

Community
  • 1
  • 1
manojlds
  • 290,304
  • 63
  • 469
  • 417