处理使用7 zip ziphell命令提取文件的错误

时间:2016-05-31 12:29:47

标签: powershell 7zip

我正在尝试使用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

有人可以建议如何克服这个问题吗?

1 个答案:

答案 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'
相关问题