PowerShell捕获错误的2种方法(异常捕获命令、错误变量)

所属分类: 脚本专栏 / PowerShell 阅读数: 1010
收藏 0 赞 0 分享

在先前的技巧中你能观察到使用了 “-ErrorAction Stop”结合“异常捕获命令”能捕获一个Powershell命令的错误,可是使用了这种方式操作之后,脚本会在第一个错误发生后停止。

下面举例:使用Powershell递归扫描文件夹。它将不能完成捕获中间所有的异常(例如某些子文件夹是受访问保护的)。

复制代码 代码如下:

try
{
  Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorAction Stop
}
catch
{
  Write-Warning "Error: $_"
}

代码捕获了第一个错误,这时命令将停止且不会继续扫描剩下的子文件夹。


如果你只是抑制错误,你将完成执行,但是“异常捕获命令”将无法捕获到任何错误信息。

复制代码 代码如下:

try
{
  Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorAction SilentlyContinue
}
catch
{
  Write-Warning "Error: $_"
}

所以如果你想连续执行且获得没权限访问的目录,完全不需要使用“异常捕获命令”,你可以指定变量来获得所有错误报告:
复制代码 代码如下:

Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorAction SilentlyContinue -ErrorVariable myErrors

Foreach ($incidence in $myErrors)
{
    Write-Warning ("Unable to access " + $incidence.CategoryInfo.TargetName)
}

更多精彩内容其他人还在看

PowerShell Out-File禁止覆盖文件的方法

这篇文章主要介绍了PowerShell Out-File禁止覆盖文件的方法,只要加一个NoClobber参数即可,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell Out-File向只读文件写入内容的方法

这篇文章主要介绍了PowerShell Out-File向只读文件写入内容的方法,只需要加一个-Force参数即可,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell Out-File指定文件编码的方法

这篇文章主要介绍了PowerShell Out-File指定文件编码的方法,例如怎样创建一个UTF-8编码的文件,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell Out-File追加字符串到文件末尾的方法

这篇文章主要介绍了PowerShell Out-File追加字符串到文件末尾的方法,只要加一个-Append参数即可实现追加内容需求,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中使用Out-File把字符串或运行结果保存到文件的方法

这篇文章主要介绍了PowerShell中使用Out-File把字符串或运行结果保存到文件的方法,重点在于Out-File命令的使用方法上,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell面向对象编程基础知识总结

这篇文章主要介绍了PowerShell面向对象编程基础知识总结,本文着重讲解面向对象的一些概念,又给出了Get-Member命令输出类的属性和方法的例子,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中调用.NET对象的静态方法、静态属性和类方法、类属性例子

这篇文章主要介绍了PowerShell中调用.NET对象的静态方法、静态属性和类方法、类属性例子,即PowerShell中如何使用.NET对象的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中的变量基础知识介绍

这篇文章主要介绍了PowerShell中的变量基础知识介绍,本文的知识点是需要牢记的,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell获取系统环境变量的方法

这篇文章主要介绍了PowerShell获取系统环境变量的方法,本文讲解了列出所有的环境变量的方法和获取环境变量的值的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中定义多行字符串变量的方法

这篇文章主要介绍了PowerShell中定义多行字符串变量的方法,本文介绍PowerShell中如何定义一个跨多行的字符串变量,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多