努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:windows:powershell:powersahell-003

Compress-ArchiveでZIPファイル作成のメモ

2025-03-31
自分用メモ

tarコマンドではZIPファイルを作れない

最近のWindowsには tar コマンドがあり、ZIPファイルを解凍できるんだけど、逆に通常のZIPファイルを作成できない。※正しくは生成結果が所謂 *.tar.zip になっちゃう。
Windowsのエクスプローラーで操作可能な(圧縮フォルダとして利用可能な)ZIPファイルが作れないので、ZIPファイル生成時はPowerShellのコマンドレット Compress-Archive を利用する。

Compress-Archive でZIPファイルを作る

ZIPファイル作成例。ユーザ metan のダウンロードフォルダにある *.csv ファイルを csvcollection.zip にまとめる。

C:¥Users¥metan>powershell Compress-Archive -Path d:\Users\metan\Downloads\*.csv -DestinationPath csvcollection.zip

作成を強制したければこう。

C:¥Users¥metan>powershell Compress-Archive -Path d:\Users\metan\Downloads\*.csv -DestinationPath csvcollection.zip -Force

既に作成したZIPファイルへ追加更新する時はこちら。

C:¥Users¥metan>powershell Compress-Archive -Path d:\Users\metan\Downloads\extends\*.csv -Update -DestinationPath csvcollection.zip

注意する点としては、このコマンドレットさん、アーカイブ対象ファイルに排他的ロックがあるなどで処理ができなかったりすると、ZIPファイルを消しちゃう。またリターンコードもあまりアテにならない。
利用に際しては、ZIPファイルがゼロバイト以上のサイズで作成されているか否かを確認して処理終了とした方がいい。後検証はしていないけど、ZIPファイルの最大サイズが2GBに制限されます。…昔に作られた形式だしね。

ZIP64という規格があるらしいけど追ってません。

documents/windows/powershell/powersahell-003.txt · 最終更新: 2025/03/31 17:26 by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki