6
4

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で7zを扱うCmdletsをご紹介

Last updated at Posted at 2019-02-20

#はじめに
何気なく調べていたらexeを頑張って呼び出している人がいたのでメモ。

これを入れても結局7z.dllが入るのですが。

標準のCompress-Archiveではパスワードzipが作成できませんがこちらは作成できるので、
インストールできる環境であればこちらを使用したほうが良さそうです。

##紹介
7Zip4Powershellを使おう!
https://www.powershellgallery.com/packages/7Zip4Powershell/1.9.0

##インストール方法
リンク先に書かれていますが一応書いておきます。

Install-Module -Name 7Zip4Powershell

#Cmdletsの簡単な説明
ざっくりサンプルのため詳細はGet-Helpで確認しましょう。

##Expand-7Zip
7Zipファイルを展開する

Expand-7Zip

Expand-7Zip -ArchiveFileName "D:\temp.7z" -Path "D:\test-folder"

##Compress-7Zip
7Zipファイルを作成する
Pathにはファイルを指定してもフォルダを指定しても良いです。

Compress-7Zip

Compress-7Zip -ArchiveFileName "D:\test.7z" -Path "D:\7ztest-folder"

パスワードも付けられます

Compress-7Zip

Compress-7Zip -ArchiveFileName "D:\test.7z" -Path "D:\test-folder" -Password 'p@ssw0rd'

##Get-7Zip
7Zipファイル内のファイルリストが取得できます。

Get-7Zip

Get-7Zip -ArchiveFileName "D:\test.7z"


Index          : 0
FileName       : a01.csv
LastWriteTime  : 2018/08/31 10:28:24
CreationTime   : 2019/02/20 14:11:52
LastAccessTime : 2019/02/20 14:11:52
Size           : 84932475
Crc            : 1549341964
Attributes     : 32
IsDirectory    : False
Encrypted      : False
Comment        :

ArchiveFileInfo型の配列で結果が返るようです。

GetType

(Get-7Zip -ArchiveFileName "D:\test.7z")[0].GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    ArchiveFileInfo                          System.ValueType

##Get-7ZipInformation

7Zipファイルの情報が取得できます。

Get-7ZipInformation
Get-7ZipInformation -ArchiveFileName "D:\test.7z"


FileName     : test.7z
PackedSize   : 2960164
UnpackedSize : 84932475
FilesCount   : 1
FullPath     : D:\test.7z
Format       : SevenZip
Method       : LZMA2:26

こちらはArchiveInformation型で返される様子

GetType

(Get-7ZipInformation -ArchiveFileName "D:\test.7z").GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    ArchiveInformation                       System.Object

#「この記事は以下の記事からリンクされています」に出したいがためのリンク集
https://qiita.com/Q11Q/items/c309ff435d59413808d6
https://qiita.com/arachan@github/items/1147915cd0bcc011872f
https://qiita.com/kmr_hryk/items/5dfe87c0035887cbd8e4
https://qiita.com/arai-wa/items/2e4b1de0f9a3af7f1f9d
https://qiita.com/kurukurupapa@github/items/99f739f0c0dd402e03ea
https://qiita.com/Fushihara/items/5834b1f1d94ca72ebef4

6
4
2

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
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?