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/