2013-06-12 119 views
2

我對PowerShell腳本非常陌生,我有一段時間試圖捕獲是否失敗或成功。我有一個簡單的例子:如何在PowerShell腳本中從cmdlet中捕獲退出代碼

test1.ps1

get-psdrive -name ds | out-null 

if($? -ne "False") 
{ 
    echo "drive doesn't exist" 
} 
else { echo "Found drive" } 

然而,這不是爲我工作。我也嘗試了變量$ LastExitCode,但這也不起作用。我在這裏嚴重誤解了一些東西。可有人請點我在正確的方向或者告訴我工作的例子

回答

2

嘗試是這樣的:

$drive = Get-PSDrive -Name ds 2>Out-Null 

$drive = Get-PSDrive -Name ds -EA SilentlyContinue 

如果此cmdlet成功,$drive持有的驅動對象,否則其值爲$null

if ($drive -eq $null) { 
    echo "Drive doesn't exist." 
} else { 
    echo "Found drive." 
} 
+0

看起來像是會做t裏克!謝謝! –

+0

-EA在大多數情況下,SilentlyContinue不起作用,通常您必須在單獨的行上執行$ ErrorAction =「SilentlyContinue」,或者如上所述執行Out-Null –

相關問題