我在这里有一个超级容易的人,但我无法弄清楚并发疯。 我怀疑这是变量的某种范围界定问题(全局等)
无论如何,这是我的代码:
$i = 0
foreach ($line in Get-Content 'somefile.txt') {
if ($i = 1) {
echo "$i Line: $line"
}
$i++
// I even tried $i = $i + 1
}
输出始终为$ 1 = 1。似乎不算数。
我该如何解决?
答案 0 :(得分:2)
$i = 1
将 1
分配给$i
,因此结果始终为1
。
您需要使用-eq
:if ($i -eq 1) ...
有关更多信息,请参见Get-Help about_comparison_operators
。
答案 1 :(得分:1)
您的问题尚不清楚,但似乎您正在尝试输出文本文件的每一行,并在每行前加上行号。如果是这样,一种方法是:
Get-Content 'somefile.txt' |
ForEach-Object {$i = 0}{
"$i Line: $_"
$i++
}