下面在我的日志中输入2行:
“ 2019-06-25 16:08:23”“错误:”“从C:\ Users \ Simon.Evans \ Documents \ Source Data \ LNAT \ Code_Maping.txt复制到 I:\ Dev \ BI \ Projects \ Powershell \ Test Area \ Source Data \ LNAT \ Code_Mapping.txt失败”
“ 2019-06-25 16:08:23”“错误:”“找不到路径'C:\ Users \ Simon.Evans \ Documents \ Source Data \ LNAT \ Code_Maping.txt' 因为它不存在。”
是否可以将2个或仅在1行/每行中同时使用?
catch{
$Error[0] | Write-Log -path $varfullpath
Write-log -Message "Copy from $sourceDirectory to $destinationDirectory Failed" -Level Error -path $varfullpath
}
答案 0 :(得分:0)
PowerShell将所有错误保存在$Error
对象中。
每个新错误都会添加到列表的开头。
如果列表的长度超过256($MaximumErrorCount
),则列表中的最后一个错误将消失。
这意味着您可以简单地串联列表中的前两个错误(如Ranadip Dutta所说):
($Error[1].ToString() + [System.Environment]::NewLine + $Error[0].ToString()) |
Write-Log -path $varfullpath
(请注意,如果仅捕获了1个错误,这可能会失败。)