#はじめに
何気なく調べていたら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 -ArchiveFileName "D:\temp.7z" -Path "D:\test-folder"
##Compress-7Zip
7Zipファイルを作成する
Pathにはファイルを指定してもフォルダを指定しても良いです。
Compress-7Zip -ArchiveFileName "D:\test.7z" -Path "D:\7ztest-folder"
パスワードも付けられます
Compress-7Zip -ArchiveFileName "D:\test.7z" -Path "D:\test-folder" -Password 'p@ssw0rd'
##Get-7Zip
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型の配列で結果が返るようです。
(Get-7Zip -ArchiveFileName "D:\test.7z")[0].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False ArchiveFileInfo System.ValueType
##Get-7ZipInformation
7Zipファイルの情報が取得できます。
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型で返される様子
(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