国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

PowerShell捕獲錯誤的2種方法(異常捕獲命令、錯誤變量)

2020-03-26 19:25:04
字體:
來源:轉載
供稿:網友

在先前的技巧中你能觀察到使用了 “-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)
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德保县| 湖口县| 滨海县| 隆尧县| 江源县| 溆浦县| 赣州市| 荔浦县| 酉阳| 房产| 安徽省| 翁源县| 静宁县| 隆化县| 南昌县| 黄骅市| 龙陵县| 石嘴山市| 吐鲁番市| 长白| 双柏县| 当雄县| 葫芦岛市| 高尔夫| 马山县| 平度市| 阿拉善盟| 察隅县| 克山县| 宜宾县| 三穗县| 张家口市| 留坝县| 彩票| 万盛区| 固始县| 稷山县| 陵水| 娄烦县| 浦城县| 同德县|