【发布时间】:2016-03-20 14:53:31
【问题描述】:
如果我运行这个函数(没有try..catch):
executezipFullBackup -PathFileLocation "Z:\" -PathSaveBackup "E:\" -NameOfBackup "MyNASStorage"
PoweShell 给我这个错误:
sz :
在 C:\PowerShellF\zipFunction.ps1:6 char:9
+ sz a -t7z "$PathSaveBackup\$NameOfBackup" "$PathFileLocation" #backup
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
错误:
磁盘上的重复文件名:
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 :
在 C:\PowerShellF\zipFunction.ps1:6 char:9
+ sz a -t7z "$PathSaveBackup\$NameOfBackup" "$PathFileLocation" #backup
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
这个错误对我来说还不够,因为我没有看到 ERROR!我没有看到这个:
错误: 磁盘上的重复文件名: BackupTest\private\103.tmp\usr\bin\mail BackupTest\private\103.tmp\usr\bin\Mail
如何让try..catch 显示此错误?
【问题讨论】:
-
什么是“executezipFullBackup”?这是一个exe,一个批处理文件,还是其他的?
标签: powershell