Powershell小技巧之找出脚本中的错误

时间:2022-11-21 11:14:10

找出脚本之中的语法错误从来就不是轻松的事情,但是可以这样去筛选:

?
1
2
3
4
5
6
7
8
9
10
filter Test-SyntaxError
{
  $text = Get-Content -Path $_.FullName
  if ($text.Length -gt 0)
  {
   $err = $null
   $null = [System.Management.Automation.PSParser]::Tokenize($text, [ref] $err)
   if ($err) { $_ }
  }
}

这个脚本中,你可以快速扫描一个目录或整个电脑中的PS文件找出他们中的语法错误。

下面例子将找寻用户目录下所有PS脚本的语法错误:

 

复制代码 代码如下:

PS> dir $home -Filter *.ps1 -Recurse -Exclude *.ps1xml | Test-SyntaxError

 

支持所有PS版本