「圧縮(zip形式)フォルダーは無効です」「パスが長すぎます(0x80010135)」などと出て解凍できないZIPの原因を調べ、Windowsでそのまま解凍できるZIPに直します。ソフトのインストールは不要で、会社のパソコンでもブラウザだけで使えます。中身のデータはそのままで名前だけを直すので、大きなZIPでもすぐに終わります。
ZIPはサーバーに送信されません(ブラウザ内で処理)
| 元のパス | 新しいパス(展開後の文字数・ZIP内のバイト数) | 変更内容 |
|---|
ZIPを開こうとすると「フォルダーを開くことができません。圧縮(zip形式)フォルダー「…」は無効です。」と出る場合、多くはZIPの中に記録された名前(フォルダ名+ファイル名)が長すぎるのが原因です。Windowsのエクスプローラーは、ZIPの中の名前が260バイト以上のものが1つでもあると、ZIP全体を開けません。
日本語は1文字3バイト(UTF-8)で数えるので、日本語だけの名前なら、フォルダ名とファイル名を合わせて約86文字で上限に届きます。ZIPを置く場所や展開先とは関係なく決まるため、デスクトップやCドライブの直下に移しても開けません。ZIPそのものは壊れていません。
このツールでZIPを読み込むと、上限を超える名前の数と、いちばん長い名前のバイト数を表示します。修復すると、上限に収まるように名前を短くしたZIPができ、エクスプローラーでそのまま開いて解凍できます。
ZIPは開けるのに、「すべて展開」やファイルのコピーで「パスが長すぎます」「エラー 0x80010135」などと出て止まるのは、展開先を含めたファイルのパスが、Windowsの上限(260文字)を超えているためです。パスとは「C:\Users\…\フォルダ名\ファイル名」のように、ドライブから順にたどった名前全体のことです。
こちらは展開先の長さも含めて数えるので、ダウンロードフォルダなど深い場所に展開すると起こりやすくなります。このツールは展開先の長さも含めて、2つの上限の両方に収まるように名前を短くします。
SharePoint・OneDrive・Teamsでは、フォルダ名とファイル名を合わせて400文字までのパスを使えます。フォルダごとダウンロードすると、選んだフォルダから下の階層がそのままZIPに入るので、クラウドでは問題なく使えていた長い名前が、Windowsの上限を超えてしまいます。社内の資料は階層が深く、フォルダ名やファイル名も長くなりがちなので、典型的な例です。
このツールの「上位の共通フォルダを省く」を使うと、すべてのファイルが入っている一番上のフォルダを省いて、そのぶん名前を短くできます。それでも長いファイルだけ名前を短くし、どのファイルがどう変わったかは名前の対応表(CSV)で確かめられます。ダウンロードするときに、必要な下の階層のフォルダだけを選ぶのも効果的です。
サービスごとの注意点やダウンロード前にできる対策は、「SharePoint・Teams・OneDrive・GoogleドライブでダウンロードしたZIPが開けないときの原因と直し方」で解説しています。
名前が長いZIPも、7-Zipなどの解凍ソフトなら開けることがありますが、会社のパソコンではソフトをインストールできないこともよくあります。Windowsに入っているPowerShellの「Expand-Archive」でも展開できますが、コマンドの入力が必要なうえ、展開したファイルは名前が長いままです。このツールはブラウザ(Chrome・Edgeなど)だけで動き、エクスプローラーでそのまま開けるZIPに直せるので、ほかの人に送るときにも困りません。
PowerShellやtarコマンドで展開する方法との違いは、「7-Zipなし・インストールなしでZIPを解凍する方法」で比べています。
ZIPはブラウザの中だけで処理し、どこにも送信しないので、業務のファイルでも安心して使えます。
修復したZIPは、元のZIPの中のデータを解凍・再圧縮せずにそのまま使い、名前と目次だけを作り直します。そのため数GBのZIPでもすぐに終わり、ファイルの中身が変わることもありません。ファイル名はUTF-8(印付き)で書き直すので、Windows 10・11とMacのどちらでも文字化けしません。
途中で切れたZIPは、先頭から読み取れたファイルだけを入れて作り直します。壊れている部分のデータそのものを元に戻すことはできません。
「パスが長すぎます」の上限(260文字)は、ZIPの中の名前だけでなく、展開先のフォルダの長さも含めて数えます。ダウンロードフォルダで「すべて展開」すると、「C:\Users\ユーザー名\Downloads\ZIPの名前\」の分が足されます。展開先の欄を実際の場所に合わせると、より正確に判定できます。
一方、「無効です」の上限(260バイト)はZIPの中の名前だけで決まるので、短い場所に展開しても解決しません。名前を短くしたZIPに直す必要があります。