powershell测量信息。计算代码行

时间:2017-05-13 12:02:49

标签: powershell cat measure

我有一个“projects”文件夹,在该文件夹中,我有个别的解决方案文件夹。例如:

  • 项目
    • 项目1
    • 项目2
    • 项目3

等等。请注意,项目文件夹可能有多个子文件夹和c#解决方案,但这无关紧要。我只想要每个项目文件夹的代码行。

使用Powershell,我想计算每个项目文件夹的代码行,所以在我的顶级Project文件夹中输入以下内容:

ls | select name, @{n="LinesOfCode";e={(ls -Path $_.fullname -Recurse -Include *.cs | cat | measure).Lines}} -First 1

“行”列不返回任何内容。但是,如果(仅用于调试目的)我删除“measure”命令并以“cat”命令结束,如下所示:

ls | select name, @{n="LinesOfCode";e={(ls -Path $_.fullname -Recurse -Include *.cs | cat).Length}} -First 1

cat命令返回一个值。为什么猫而不衡量?

提前致谢。

更新 因此Mathias R. Jessen解决了上述问题,但现在,我测量命令为所有文件夹返回值为1。

ls | select name, @{n="LinesOfCode";e={(ls -Path $_.fullname -Recurse -Force -Filter *.cs | cat | measure -Line).Count}} 

1 个答案:

答案 0 :(得分:1)

使用<script> $('.chips-initial').material_chip({ data: [{ tag: 'Apple', }, { tag: 'Microsoft', }, { tag: 'Google', }], }); </script> measure的别名)时,您需要引用Measure-Object属性,它没有Count属性:

Lines