2016-05-31 3 views
0

7 zipおよびpowershellコマンドラインを使用してファイルを抽出しようとしています。ファイルは問題なく抽出されますが、7zipはエラーをスローします(Missing volume:sample.ZIP)。私はzipファイルを探しますが、まだファイルを抽出します。私はそのエラーを抑制したい、またはそのエラーを処理したい。7 zipからpowershellコマンドを使用してファイルを抽出する際のエラー処理

これは終了エラーではありません。私はまた、以下のアプローチを試みました。

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

私はエラーを取得する:

Missing volume : sample.ZIP

誰もがこの問題を克服する方法を提案することができますか?

答えて

1

問題は、多くのメタデータがルートZipファイル(sample.zip)に格納されていることです。幸運なことに、あなたが必要とするファイル全体が含まれていますが、そうでなければ他のアーカイブにも使用でき、何かを抽出することはできません。したがって、エラーは完全に有効です。それでもエラーを抑止したい場合は、このように、$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' 
+0

をこれは、任意の変更を行いませんでした。また、-ErrorAction Continue/Stop/SilentlyContinueを使用しましたが、「Unknown switch:-ErrorAction」と表示されます。 – user4130072

+0

サイクルではなく、エラーが発生していませんでした。そして '-ErrorAction'スイッチは本当に許可されていません。最後の行を削除することができます。おそらくそれは役に立ちますが、このスクリプトではエラーは一切表示されません –

関連する問題