Если я запуска этой функции (с из try..catch
):Поймать ошибки от внешней команды
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
И эта ошибка хорошо для меня, потому что я знаю что на этом шаге не так.
Но моя проблема в том, что если я поместил этот скрипт в 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: Duplicate filename on disk: BackupTest\private\103.tmp\usr\bin\mail BackupTest\private\103.tmp\usr\bin\Mail
Как я могу получить try..catch
отобразить эту ошибку?
что «executezipFullBackup»? Это exe, командный файл, другой? –