rcmdnk's blog

uuencodeされた本―EUC/tar.gz版

Windowsではzipファイルは簡単に解凍出来ますが、 Linux環境でよく使われるtar.gzファイルの解凍は簡単には出来ません。

もちろんフリーソフトとかを入れればすぐ出来るわけですが、 ネットワークに繋がってなかったり何らかの理由で余計なものを入れられない環境で どうするか、という話。

フリーソフトの利用

圧縮・解凍ソフト 7-Zip

とかインストールして解凍すればOK。

最近のWindowに関して

最近のWindows 10には

C:\Windows\Sytem32\tar.exe

がインストールされています。

したがって、コマンドプロンプトなりPowerShellにて

tar -xzf xxx.tar.gz

とすれば解凍できます。

何も外から入れられない場合

というわけで、Window 10にはtarコマンドがインストールされているので 殆どの場合はそれでなんとかなってしまいます。

なので、めったにこんなことは必要ないわけですが、古いWindowsサーバーで 作業する必要があったりする場合、役に立つ、かもしれません。、

が、ちょっと必要な時があって調べたのでメモ。

実はC#を使うと結構簡潔(?)に展開することができます。

Use pure C# to extract .tar and .tar.gz files

これをコンパイルして使えばよいわけですが、これを PowerShellでwarpして簡単に実行できる様にした人がいました。

Native TAR File Extraction with PowerShell – .The Dot Source

Expand-TarBall/Expand-TarBall.ps1 at main · TheDotSource/Expand-TarBall

さっと使いたいだけならこれが非常に便利。

Expand-TarBall.ps1の内容を適当にコピペして スクリプトの最後に

Expand-TarBall example.tar.gz  -outputFolder example

とか追加していて実行してあげればOK。

GZipの解凍まで

GZipだけであればもっと単純にPowerShellだけでも書ける様です。

Download and extract gzip tar with PowerShell » Scattered Code

Native .tar extraction in Powershell - Stack Overflow

これらでも最終的にtarを展開していますが、その際に 7Zip4Powershell というパッケージをインストールしていて、これはサードパーティーで外部からインストールしないと いけないのでここで考えている環境だとうまくいきません。

ただ、普通にネットワークが繋がっていて、 tar.exeがないけどどうしてもPowerShellでtar.gzファイルを扱いたい、 ということがある場合には覚えておくと役に立つかもしれません。

Sponsored Links
Sponsored Links

« Homebrew-fileへのmainコマンドの追加 MH-Z19CとRaspberry Pi Zeroで二酸化炭素濃度を測定する »