我正试图找到一种方法来计算我所拥有的项目的所有源文件中的总行数.我已经尝试过管道dir -r -name
输入measure-object -line
,但这只计算了我拥有的文件数量.
有没有人有脚本来做这个?
Get-ChildItem -Filter "*.cs" -Recurse | Get-Content | Measure-Object -line
感谢所有回答的人.我最终实现这个的方式是
dir . -filter "*.cs" -Recurse -name | foreach{(GC $_).Count} | measure-object -sum
Get-ChildItem . -Include *.txt -Recurse | foreach {(Get-Content $_).Count}
使用别名缩小了一点:
GCI . -Include *.txt -Recurse | foreach{(GC $_).Count}
会给出与此类似的结果:
Lines Words Characters Property ----- ----- ---------- -------- 21 40 29 15 294 13 13 107
编辑:修改后通过子文件夹进行递归.
编辑2:删除了Measure-Object的使用.
dir**.txt -recurse | 选择Fullname,@ {name ="LineCount"; expression = {@(get-content $ _.fullname).count}}
我刚刚到期,发现此命令确实确实递归地测量了所有c#文件:
Get-ChildItem -Filter *.cs -Recurse | Get-Content | Measure-Object -Word -Line -Character