找出脚本之中的语法错误从来就不是轻松的事情,但是可以这样去筛选:
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版本