我试图使用Pshell获取文本文件的行数。我使用了诸如以下的查询:
$count = 0
$reader = New-Object IO.StreamReader $Filename
while($reader.ReadLine() -ne $null){ $count++ }
$reader.Close()
或
$measure = Get-Content $Filename| Measure-Object
$lines = $measure.Count
但是只为一个特定的文本文件获取了错误的行数。它实际上返回了比它应该更大的计数。
如果我在cmd中使用以下命令,我会得到正确的计数:
set file=E:\A.txt
set /a cnt=0
for /f %%a in ('type "%file%"^|find "" /v /c') do set /a cnt=%%a
echo %cnt%
有人可以帮我翻译成Powershell吗? 我非常感谢您的帮助和建议。
答案 0 :(得分:1)
我不太确定,但我认为你的原始脚本只计算非空行,也许这就是powershell版本更大的原因。
尝试使用此脚本并检查是否正常:
Get-Content $Filename | Select-String "." | measure -line
此致