我试图找到一种方法来计算项目中所有源文件的总行数,我试过将dir -r -name管道化到measure-object -line中,但那只是计算了我拥有的文件数。有没有人有这样的剧本?
dir -r -name
measure-object -line
vkc1a9a21#
Get-ChildItem -Filter "*.cs" -Recurse | Get-Content | Measure-Object -line
eqqqjvef2#
感谢每一个回答的人。我最终实现这个的方式是
dir . -filter "*.cs" -Recurse -name | foreach{(GC $_).Count} | measure-object -sum
GC是获取内容的别名dir是获取子项的别名
lymgl2op3#
我刚刚过期了一段时间,发现这个命令确实递归地度量了所有的c#文件:第一个月
ruyhziif4#
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
EDIT:修改为通过子文件夹递归。编辑2:删除测量对象的使用。
p1tboqfb5#
目录**.txt -递归|选择全名,@{name=“行数”;表达式={ @(获取内容$_.全名).计数}}
4bbkushb6#
打印文件名和行数:
Get-ChildItem -re -in "*.cs" | Foreach-Object { $fileStats = Get-Content $_.FullName | Measure-Object -line $linesInFile = $fileStats.Lines Write-Host "$_=$linesInFile" }
h4cxqtbf7#
因为我需要类似的东西,这就是我想出来的。一种文件类型:获取子项递归筛选器“.cs”|获取内容|测量对象线多种文件类型:获取子项-递归-包括“. cs”、“. aspx”、“.ascx”|获取内容|测量对象线
hkmswyz68#
递归计算项目文件夹中*.c文件的代码行(不包括空行)
*.c
Get-ChildItem -Path \project-dir\src -Filter "*.c" -Recurse | ForEach-Object{(Select-String -Path $_ -Pattern .).Count} | Measure-Object -Sum Count : 14 Average : Sum : 979 Maximum : Minimum : StandardDeviation : Property :
42fyovps9#
目录中文件的No. of lines计数:
No. of lines
GCI . -Include *.* -Recurse | foreach{(GC $_).Count}
计算目录中文件的SUM of lines:
SUM of lines
GCI . -Include *.* -Recurse | foreach{(GC $_).Count} | measure-object -sum
9条答案
按热度按时间vkc1a9a21#
eqqqjvef2#
感谢每一个回答的人。我最终实现这个的方式是
GC是获取内容的别名
dir是获取子项的别名
lymgl2op3#
我刚刚过期了一段时间,发现这个命令确实递归地度量了所有的c#文件:
第一个月
ruyhziif4#
用别名浓缩一下:
将给予类似于以下内容的结果:
EDIT:修改为通过子文件夹递归。
编辑2:删除测量对象的使用。
p1tboqfb5#
目录**.txt -递归|选择全名,@{name=“行数”;表达式={ @(获取内容$_.全名).计数}}
4bbkushb6#
打印文件名和行数:
h4cxqtbf7#
因为我需要类似的东西,这就是我想出来的。
一种文件类型:获取子项递归筛选器“.cs”|获取内容|测量对象线
多种文件类型:获取子项-递归-包括“. cs”、“. aspx”、“.ascx”|获取内容|测量对象线
hkmswyz68#
递归计算项目文件夹中
*.c
文件的代码行(不包括空行)42fyovps9#
目录中文件的
No. of lines
计数:计算目录中文件的
SUM of lines
: