PowerShell 技能连载 - 查找脚本中的错误

适用于 PowerShell 所有版本

没有比这种更简单的方法来查找脚本中的语法错误了。只需要用这个过滤器:

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) { $_ }
   }
}

通过使用这个过滤器,您可以快速地扫描文件夹,甚至整台计算机,列出所有包含语法错误的 PowerShell 文件。

以下代码将在您的用户文件夹下遍历并查找所有的 PowerShell 脚本并列出包含语法错误的文件:

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

PowerShell 技能连载 - 查找脚本中的错误

http://blog.vichamp.com/2014/09/17/finding-errors-in-scripts/

作者

吴波

发布于

2014-09-17

更新于

2022-07-06

许可协议

评论