3

私はPowerShellを初めて使用します。

コード内のコメントされた行を省略(無視)する場合は、VisualStudioプロジェクトの合計行数をカウントするスクリプトの作成に支援が必要です。例:vb.netのように<'>一重引用符。コメントされている行、つまり<'>一重引用符で始まる行は、ファイルの行数で考慮する必要はありません。

これまでのところ、ファイルの種類(* .vbなど)に基づいてプロジェクトの行数をカウントするためのスクリプトを作成することに成功しています。以下のように

(dir -include *.cs,*.xaml -recurse | select-string .).Count
  • カウント中に一重引用符で始まる行を無視するにはどうすればよいですか?
  • 上記のコード行と一緒に含めることができるものを提案できますか?

どんな助けでも大歓迎です!

ありがとう、Ashish

4

2 に答える 2

6

試す

(gc c:\file.vb | ? { !$_.startswith("'") }).count

コメント後に編集:

これを試して:

dir c:\myfolder -include *.cs,*.xaml,*.txt -Recurse | % { $count = (gc $_ |  ? { $_ -notmatch '^\s*$|^''|/\*|\*/' }).count; if ($count) {write-host "$_ `tcount: $count"} }

これは、空の行、'で始まる行、および/*または*/を含む行をカウントしません。

于 2012-07-19T13:08:22.627 に答える
1

前に先頭のスペースまたはタブがある場合でも、一重引用符で始まらないすべての行を取得します。結果をMeasure-Objecttocount行にパイプします。

Get-Content file.ext | Where-Object {$_ -notmatch "(\s?)+'"} | Measure-Object
于 2012-07-19T13:15:46.213 に答える