2014-12-02 38 views
2

我尝试在PowerShell脚本中执行错误处理。但我总是得到一个致命的。我尝试了一些东西,例如。 G。尝试{} catch {} - 但我没有开始工作。测试路径返回权限被拒绝 - 如何执行错误处理

任何想法或解决方案?

Function Check-Path($Db) 
{ 
    If ((Test-Path $Db) –eq $false) { 
     Write-Output "The file $Db does not exist" 
     break 
    } 
} 

返回:

Test-Path : Zugriff verweigert 
In K:\access\access.ps1:15 Zeichen:6 
+ If ((Test-Path $Db) -eq $false) { 
+  ~~~~~~~~~~~~~ 
    + CategoryInfo   : PermissionDenied: (K:\ss.mdb:String) [Test-Path],  UnauthorizedAccessException 
+ FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.TestPathCommand 

回答

4

有点混乱Test-Path实际上在许多情况下产生一个错误。将标准ErrorAction参数设置为SilentlyContinue以忽略它。

if ((Test-Path $Db -ErrorAction SilentlyContinue) -eq $false) {