2016-03-20 26 views
0

をキャッチ:は、外部コマンドからのエラー

executezipFullBackup -PathFileLocation "Z:\" -PathSaveBackup "E:\" -NameOfBackup "MyNASStorage" 

PoweShellは私に、このエラーを与える:私は知っているので

sz : 
At C:\PowerShellF\zipFunction.ps1:6 char:9 
+   sz a -t7z "$PathSaveBackup\$NameOfBackup" "$PathFileLocation" #backup 
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

ERROR: 
Duplicate filename on disk: 
BackupTest\private\103.tmp\usr\bin\mail 
BackupTest\private\103.tmp\usr\bin\Mail

そして、そのエラーは、私にとってはOKですこのステップで何が間違っていますか。

私の問題は、このスクリプトをtry..catchに入れた場合、このエラーが発生しないということです。 例:

$ErrorActionPreference = "Stop";  #this is for Try Catch 
try { 
    zipFullBackup -PathFileLocation "$PathFileLocation" -PathSaveBackup "$PathSaveBackup" -NameOfBackup "$NameOfBackup"   
} catch { 
    $MyError = ($Error[0] | Out-String); 
    Write-Host "$MyError" 
} 

は、私はこのようなエラーが出る:

sz : 
At C:\PowerShellF\zipFunction.ps1:6 char:9 
+   sz a -t7z "$PathSaveBackup\$NameOfBackup" "$PathFileLocation" #backup 
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError

私はERRORが表示されていないので、このエラーは、私にとっては十分ではありません!私はこれを見ない:

ERROR: 
Duplicate filename on disk: 
BackupTest\private\103.tmp\usr\bin\mail 
BackupTest\private\103.tmp\usr\bin\Mail

try..catchこのエラーを表示するにはどうすればよいですか?

+0

「executezipFullBackup」ものです:あなたが何ができるか

は、しかし、変数にコマンドの出力を収集しているのですか?これはexeファイル、バッチファイル、その他ですか? –

答えて

-1

このエラーメッセージはPowerShellエラー/例外の一部ではありませんが、メッセージ7zip自体がSTDOUTに出力されます。したがって、ブロックtry..catchでキャッチすることはできません。$ErrorActionPreference = 'Stop'を設定してもブロックされません。

$msg = zipFullBackup ... 
+0

これはpowershellのエラー/例外ではありませんが、プログラムを停止して「キャッチ」部分に入ります。 try catchブロックを除外すると、プログラムは$ Error変数から抜け出すよりも多くの情報でクラッシュします。 OPの質問は、その情報を入手する方法でした。 – Ratzor

+0

スローした後にコマンドがコンソールに情報をどのように表示するのでしょうか?ここで何かが意味をなさないと思われる。 –

+0

try catchブロックがないと、プログラムがクラッシュすると、いくつかの情報が表示されます。問題は、プログラムをクラッシュせずにその情報を取得する方法です....キャッチの意味 – Ratzor

関連する問題