[ZIPファイル] マルチボリューム セットの最後のディスクを挿入してください

このサイトを検索 | Search this site
icon_zip192x.png

不定期で、次のダイアログが表示されるようになりました。

マルチボリューム セットの最後のディスクを挿入してください。
続けるには、[OK] をクリックしてください。

OKを選択すると延々とループするので、キャンセルを選択せざるをえません。

マルチボリューム

マルチボリュームは ZIPファイルに関係していることが分かりました。

大容量のファイルをZIP形式でアーカイブする時に利用されることがあるらしい。

PCのローカルドライブに保存されたZIPファイルの中に、マルチボリュームセットでアーカイブされたファイルが存在することが原因と思われますが、そのファイルを特定するのは困難だなぁー。

幸いにも、この問題を解決することができたので具体例を紹介します。



マルチボリュームとは

question

マルチボリュームのZIPファイルとは、大きなZIPファイルを複数の部分に分割したものです。これは、ダウンロードや転送などの作業を簡単にするために利用されます。

マルチボリュームのZIPファイルは、.z01、.z02などの連番の拡張子が付いたファイルとZIPファイルで構成されています。

これらのファイルを結合して解凍するには、対応した解凍ソフトが必要です。

マルチボリュームZIPファイルは、次の場合に使用されます。

  1. 1つのZIPファイルに収めることができないような大きなファイルを圧縮する必要がある場合。
  2. 複数のファイルを1つのファイルにまとめる必要がある場合。
  3. ファイルの送信や保存に複数のメディアを使用する必要がある場合。

Windows PowerShell

cmd_300x.gif

ダイアログには「圧縮 (zip 形式) フォルダー」

とあるので、PCのローカルドライブに保存された .zip ファイルが関係していることは推測できる。

でも莫大な数なんですよ。

ど~にかならないか?

と調べたら、PowerShell のスクリプトを見つけた。

解決!

不完全なzipファイルを検索するスクリプト

instructions
出典:kiyo_hikoのブログ
[スクリプトの動作]
  1. 指定したドライブ(またはフォルダ)の .zip ファイルを検索する。
  2. 壊れたZIPファイルを検出するとメッセージを表示する。(削除するとよい)
  3. 最後まで検索する。
  4. 以上

以下のスクリプトをコピペするとよい。

スクリプト

$workdir:検索したいフォルダを指定する

Add-Type -AssemblyName system.io.compression.filesystem

$workdir = "D:\Download\" # ここを探したいフォルダーのパスに変えましょう

$zips = gci $workdir -Recurse -Filter "*.zip"

foreach ($zip in $zips) {
Write-Host $zip.FullName
$files = [io.compression.zipfile]::OpenRead($zip.FullName).Entries
}

実行イメージ

※赤文字の上のzipファイル (scrcpy-win64-v1.24.zip) が問題のファイル

>_
Windows PowerShellー □ × 
PS C:\> Add-Type -AssemblyName system.io.compression.filesystem
>>
>> $workdir = "D:\Download\" # ここを探したいフォルダーのパスに変えましょう
>> $zips = gci $workdir -Recurse -Filter "*.zip"
>>
>> foreach ($zip in $zips) {
>> Write-Host $zip.FullName
>> $files = [io.compression.zipfile]::OpenRead($zip.FullName).Entries
>> }
D:\Download\diffbrowser-v0127.zip
D:\Download\scrcpy-win64-v1.24.zip
"1" 個の引数を指定して "OpenRead" を呼び出し中に例外が発生しました: "中央ディレクトリの終わりレコードが見つかりません。
"
発生場所 行:8 文字:5
+ $files = [io.compression.zipfile]::OpenRead($zip.FullName).Entrie ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : InvalidDataException

Explzh

Explzh

マルチボリュームセットを扱うことができるアーカイバーかつ日本製ソフトウェアは、Explzh という名前のソフトウェアがあります。

作者によると、主に ZIP の機能に特化したアーカイバとのことですが、外部DLLをインストールすることであらゆる形式の圧縮形式に対応できる設計になっています。

Explzh なんでも解凍できる最強アーカイバー

Explzh なんでも解凍できる最強アーカイバー

2022年6月20日リリース。 この手のソフトウェアの出番は少なくなったが、マイナーな書庫を扱う方には重宝されているソフトウェアです。 64-bit版はアーカイバーDLLを更新するオプションが廃止されているので、インストールするだけで多彩な書庫を扱える予感。(たぶん)

まとめ

matome
reload
  • 圧縮 (zip 形式) フォルダー がバックグラウンドで動いていることが原因。
  • 不完全なZIPファイルを検出するとダイアログを表示する。(たぶん)
  • 不完全なZIPファイルを削除すれば問題解決だが、ファイルが多すぎて特定できないよー。
  • スクリプトを利用して特定することができる。
  • 特定されたファイルは削除しよう。
  • mitigations | SC2
SC2
ブログサークルSNS
クリックして応援してね!
人気ブログランキングPVアクセスランキング にほんブログ村ブログランキング・にほんブログ村へ

このサイトを検索 | Search this site

コメントを投稿

0 コメント