不定期で、次のダイアログが表示されるようになりました。
マルチボリューム セットの最後のディスクを挿入してください。
続けるには、[OK] をクリックしてください。
OKを選択すると延々とループするので、キャンセルを選択せざるをえません。
マルチボリューム
マルチボリュームは ZIPファイルに関係していることが分かりました。
大容量のファイルをZIP形式でアーカイブする時に利用されることがあるらしい。
PCのローカルドライブに保存されたZIPファイルの中に、マルチボリュームセットでアーカイブされたファイルが存在することが原因と思われますが、そのファイルを特定するのは困難だなぁー。
幸いにも、この問題を解決することができたので具体例を紹介します。
マルチボリュームとは
マルチボリュームのZIPファイルとは、大きなZIPファイルを複数の部分に分割したものです。これは、ダウンロードや転送などの作業を簡単にするために利用されます。
マルチボリュームのZIPファイルは、.z01、.z02などの連番の拡張子が付いたファイルとZIPファイルで構成されています。
これらのファイルを結合して解凍するには、対応した解凍ソフトが必要です。
マルチボリュームZIPファイルは、次の場合に使用されます。
- 1つのZIPファイルに収めることができないような大きなファイルを圧縮する必要がある場合。
- 複数のファイルを1つのファイルにまとめる必要がある場合。
- ファイルの送信や保存に複数のメディアを使用する必要がある場合。
Windows PowerShell
ダイアログには「圧縮 (zip 形式) フォルダー」
とあるので、PCのローカルドライブに保存された .zip ファイルが関係していることは推測できる。
でも莫大な数なんですよ。
ど~にかならないか?
と調べたら、PowerShell のスクリプトを見つけた。
解決!
不完全なzipファイルを検索するスクリプト
以下のスクリプトをコピペするとよい。
$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 という名前のソフトウェアがあります。
作者によると、主に ZIP の機能に特化したアーカイバとのことですが、外部DLLをインストールすることであらゆる形式の圧縮形式に対応できる設計になっています。
まとめ
このサイトを検索 | Search this site
0 コメント