4

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
  • 13,813
  • 35
  • 107
  • 181

2 Answers2

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
  • 259,347
  • 56
  • 440
  • 401
2

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

Get-Content foo.txt  | foreach { '{0} {1}' -f $_.ReadCount, $_ }
Emperor XLII
  • 12,143
  • 11
  • 64
  • 70