Ответ 1
Спасибо всем, кто ответил. То, как я закончил это, было
dir . -filter "*.cs" -Recurse -name | foreach{(GC $_).Count} | measure-object -sum
Я пытаюсь найти способ подсчитать общее количество строк во всех исходных файлах проекта, который у меня есть. Я пробовал piping dir -r -name
в measure-object -line
, но это просто подсчитывает количество файлов, которые у меня есть.
Кто-нибудь имеет script для этого?
Спасибо всем, кто ответил. То, как я закончил это, было
dir . -filter "*.cs" -Recurse -name | foreach{(GC $_).Count} | measure-object -sum
Get-ChildItem -Filter "*.cs" -Recurse | Get-Content | Measure-Object -line
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: Изменено для рекурсии через подпапки.
EDIT 2: Удалено использование объекта измерения.
dir **. txt -recurse | выберите Fullname, @{ name= "LineCount"; выражение = {@(get-content $_. fullname).count}}
Я просто немного устарел и обнаружил, что эта команда действительно рекурсивно измеряет все файлы С#:
Get-ChildItem -Filter *.cs -Recurse | Get-Content | Measure-Object -Word -Line -Character
Печать имени файла и количества строк:
Get-ChildItem -re -in "*.cs" |
Foreach-Object {
$fileStats = Get-Content $_.FullName | Measure-Object -line
$linesInFile = $fileStats.Lines
Write-Host "$_=$linesInFile"
}