【发布时间】:2015-08-26 06:51:15
【问题描述】:
如何在 powershell 表达式中捕获(抑制)错误?
我正在尝试使用 get-ChildItem 来遍历目录中的文件并提取一些信息。
get-ChildItem "c:\test\" -Recurse | % { $_.Name + " ==> " + (try{(([xml] (Get-Content $_.FullName)).DocumentElement.TagName)} catch{"not xml"}) }
我知道我可以重写它以不使用管道,并以这种方式捕获错误,但有可能使它成为一个单行吗?
以上返回“try”:术语“try”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查 名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。"
【问题讨论】:
标签: powershell error-handling try-catch