PowerShell で指定のフォルダ以下のファイルの行数を簡単に取得することができます。
拡張子が .cs であるようなファイルのみを調べたい場合は次のようになります。
(Get-ChildItem X:\Path -Recurse -Filter *.cs | Where-Object { !$_.PSIsContainer } | Get-Content | Measure-Object).Count
エイリアスを利用して短く記述することもできます。
(dir X:\Path -Recurse -Filter *.cs | where { !$_.PSIsContainer } | gc | measure).Count
Where-Object
の PSIsContainer
は, Get-ChildItem
で取得したオブジェクトがフォルダの時に TRUE
を返します。 !
で否定しているので,ファイルのみを取得します。ファイル名でフィルタをかけているのでほとんどの場合において不要だとは思いますが,念のための処理です。