Windows のコマンドラインから zip ファイルを作ろうとしたらいろいろと苦労してしまったので、忘れないうちにその顛末のまとめ。
まず、Windows には標準で zip を扱うためのコマンドは用意されておらず、.NET Framework やPowerShell の機能を呼出す必要があります。具体的には .NET Framework にあるIO.Compression.ZipFile*1 や PowerShell のCompress-Archive*2 などになります。
実際にこれらを使って Windows のコマンドラインからフォルダを圧縮して zip ファイルにするには、以下のような感じになるようです。
ところが、どうもこれらはファイルの圧縮時に改行コードあたりを弄ってしまうようなので、なるべく副作用が少ない方法を調べていて以下のundll.exe と 7-zip32.dllを使う方法にたどり着きました。
上記のサイトから zip ファイルをダウンロードして展開し、undll.exe は 7-zip32.exe にリネームしておきます。
あとは以下のような感じのコマンドを実行すると、前述の PowerShell や .Net Framework と同等の機能が実現できます。
最近、めっきり寒くなってきたこともあって、湿度もかなり下がってきたので部屋の湿度を確認するためにデジタル温湿度計を購入してみました。
温度計などを自室に置く場合はバックライトがあるとかえって目立ってしまって邪魔なので、今回はバックライト無し、かつ、視認性が高いという条件を満たす電子ペーパーが採用されているものにしてみました。思っていたよりもコンパクトでシンプルな見た目なのがいいですね。