Powershell脚本用于计算省略包含特定字符的行的行数

ash*_*h g 3 powershell

我对powershell很新.

如果我省略(忽略)代码中的注释行,需要帮助编写一个脚本来计算visual studio项目中的总行数.例如:在vb.net中单引号.无论评论哪一行,即以单引号开头,我都不需要考虑文件的行数.

到目前为止,我已经成功地编写了基于文件类型计算项目中行数的脚本(比如*.vb等).如下

(dir -include *.cs,*.xaml -recurse | select-string .).Count
Run Code Online (Sandbox Code Playgroud)
  • 我现在需要在计数时如何忽略以单引号开头的行?
  • 你可以建议我可以包含上面的代码行吗?

任何帮助将不胜感激!

谢谢,Ashish

CB.*_*CB. 6

尝试

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

评论后编辑:

试试这个:

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

这个没有空行,没有以'开头的行,没有包含/*或*/的行.