どーでもいい記録です。
長年Windows標準のファイル圧縮・解凍ツールはCAB形式のファイルでした。今もそうですが・・・。そのため、cab形式のファイルを作成したり(makecab.exe)や解凍したり(expand.exe)するコマンドが標準であります。また、GUIシェルであるWindowsエクスプローラは標準でcab形式のファイルをフォルダとして扱えるようになってます。
・・・で、最近 ssh,curl,tarなど、従来では別途どこからか(cygwinやmsysなど)調達してこないといけないようなコマンドがWindows標準で使えるようになりました。特に tar コマンドは・・・それ、いる???? って感じ。
tarコマンドを標準で揃えるぐらいなら、zipコマンドをつけんかい! って思うのです。
Windowsって事実上の世界標準?であるzip形式のコマンドラインツールが付属していません。そうです、コマンドプロンプトでZIP書庫を解凍したり作ったりできないのです。しかし、GUIシェルであるエクスプローラはcabファイルと同じくzip書庫ファイルをフォルダとして扱えるようになってますが、そこまでするなら、なぜzipコマンドを付けないのか・・・ライセンスの問題なのか、何らかの制限があるのかわかりませんが、とっととzipコマンドをつけてほしい。
まぁ、文句を言っててもしょうがないので、代替方法。
■ PowerShellなら可能
コマンドプロンプトでは無理ゲーですが、PowerShellだとZIP形式のファイルを扱えます。
# 書庫展開 >> Expand-Archive -Path <書庫ファイルパス> -DestinationPath <解凍先パス> # 圧縮 >> Compress-Archive -Path <圧縮するファイルパス(カンマで区切って複数指定可能、ワイルドカード認識)> -DestinationPath <書庫ファイルパス>
これを 利用してコマンドプロンプトから powershell -Command を実行します。
# sampleディレクトリをそのままzipファイルにします。 >> powershell -Command "Compress-Archive .\sample\ sample.zip"
めんどくさいですが、まぁライトユースには十分です。客先のWindowsデスクトップにリモートデスクトップで接続してデータファイルを圧縮してコピーとかやるとき、zipで固めてからコピーする時とか。好き勝手にツール類をインストールとか、フツーはできないよね?勝手にやったら怒られるわ、セキュリティーの警告が出るわで大変だからね・・・。Windows上でゴニョゴニョする時、できるだけ素のWindowsでできる方法を身に付けとかないと詰みますよね。
まぁ、単に圧縮するだけなら、標準のmakecabの方が便利だけど。分割圧縮書庫にもできるし。メールで1MB制限とかチョーめんどくさい環境でも分割してメールで送れるしね。でも cabファイルって結局Windowsアプリの配布にしか使われなかったよねぇ。まぁマイクロソフト・アレルギーで毛嫌いしてる人多いからねぇ。