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