我正在尝试使用7 zip和powershell命令行提取文件。文件正在提取没有问题,但7zip抛出错误(缺少卷:sample.ZIP)。我查找zip文件,仍然提取文件。我想要压制该错误,或者我想处理该错误。
这不是非终止错误。我也尝试了以下方法。
try {
$ExtractedFile = Get-ChildItem D:\test\ | % {& "C:\Program Files\7-Zip\7z" "e" D:\test\sample.z0004} -ErrorAction Stop
write-host "ExtractedFile(s): $ExtractedFile"
} catch {
Write-Host $error[0]
} finally {
要提取的文件名:sample.z0004
我收到错误:
缺少音量:sample.ZIP
有人可以建议如何克服这个问题吗?
答案 0 :(得分:1)
问题是很多元数据存储在根Zip文件(sample.zip)中。你获得了1份存档,幸运的是你包含了你需要的整个文件,但是对于其他存档而言,它可能会被提取,你将无法提取任何内容。所以错误是完全有效的。如果您仍想要取消错误,可以使用$ErrorActionPreference
将代码括起来,也可以选择添加Out-Null
,如下所示:
$ErrorActionPreference= 'silentlycontinue'
$ExtractedFile = Get-ChildItem D:\test\ | % {& "C:\Program Files\7-Zip\7z" "e" D:\test\sample.z0004}
write-host "ExtractedFile(s): $ExtractedFile"
$ErrorActionPreference= 'Stop'