19
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PowerShellでzipファイルを解凍する

Last updated at Posted at 2014-04-02

ところで、PowerShell v5 からは zip ファイルの操作が可能になったらしいので、可能ならば v5 を入れて操作した方が安全そうです。

使い方を紹介しているブログがありましたので、参考までに
PowerShell v5 の新機能紹介 - Zipファイルの操作が可能に

PowerShellのコマンドラインからzipファイルを解凍したかったので$PROFILEに関数を追加しました。
特別な外部ライブラリを使わずにエクスプローラーのzipファイルアクセス機能を利用しています。

function psunzip {
   #エクスプローラーのオブジェクトを作成する
   $Expcom = New-Object -ComObject Shell.Application

   #第一引数のzipファイルパスを登録
   $zipFile = $Expcom.NameSpace($args[0])

   #第二引数の出力先ディレクトリパスを登録
   $tgtDir = $Expcom.NameSpace($args[1])

   #zipファイル内のオブジェクト(ファイル)一覧を取得してForEach-Objectに渡す
   $zipFile.Items() | ForEach-Object {

      #ファイルを一つずつ出力先ディレクトリにコピー
      $tgtDir.CopyHere($_.path)
   }
}

$PROFILEを編集して再読込をした後に下記のようなコマンドを叩くとzipファイルをコピーできます。

> psunzip %ZIPファイルパス% %出力先ディレクトリパス%

どちらのパスもフルパスでしか試したことはありません。

19
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?