GNU Lesser General Public License v2.1

项目介绍

thoemmi/7Zip4Powershell 是一个托管在 GitHub 上的开源项目,主要使用 PowerShell 编写,采用 GNU Lesser General Public License v2.1 许可证,目前获得 423 个 Star、67 次 Fork。

仓库全名
thoemmi/7Zip4Powershell
开源许可证
GNU Lesser General Public License v2.1
Star 数
423
Fork 数
67
未关闭 Issue
15

README 摘要

7Zip4Powershell Powershell module for creating and extracting 7-Zip archives supporting Powershell's WriteProgress API. [!IMPORTANT] Please note that this repository is not maintained anymore. I've created it a couple of years ago to fit my own needs (just compressing a single folder). I love that lots of other users find my package helpful. I really appreciated if you report issues or suggest new feature. However,…

完整内容见 GitHub 原始 README 或本页 。

常见问题

7Zip4Powershell 用什么语言开发?

主要使用 PowerShell 编写,采用 GNU Lesser General Public License v2.1 许可证,目前有 423 个 Star。

7Zip4Powershell 可以免费商用吗?

仓库标注的许可证为 GNU Lesser General Public License v2.1,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 7Zip4Powershell 的源码?

可以直接克隆仓库:git clone https://github.com/thoemmi/7Zip4Powershell.git,默认分支为 master;安装与运行步骤见仓库 README。

7Zip4Powershell 最近还在维护吗?

仓库最近一次更新为 1 周前,当前有 15 个未关闭 Issue;Star 数为 423,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Powershell module for creating and extracting 7-Zip archives

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
574
价值分
274
活跃状态
活跃

语言占比

C#
PowerShell

Release

README

7Zip4Powershell

Powershell module for creating and extracting 7-Zip archives supporting Powershell’s WriteProgress API.

Screenshot

[!IMPORTANT] Please note that this repository is not maintained anymore. I’ve created it a couple of years ago to fit my own needs (just compressing a single folder). I love that lots of other users find my package helpful.

I really appreciated if you report issues or suggest new feature. However, I don’t use this package myself anymore, and I don’t have the time to maintain it appropriately. So please don’t expect me to fix any bugs. Any Pull Request is welcome though.

Usage

The syntax is simple as this:

Expand-7Zip
    [-ArchiveFileName] <string>
    [-TargetPath] <string>
    [-Password <string>] | [-SecurePassword <securestring>]
    [<CommonParameters>]

Compress-7Zip
    [-ArchiveFileName] <string>
    [-Path] <string>
    [[-Filter] <string>]
    [-OutputPath] <string>
    [-Format <OutputFormat> {Auto | SevenZip | Zip | GZip | BZip2 | Tar | XZ}]
    [-CompressionLevel <CompressionLevel> {None | Fast | Low | Normal | High | Ultra}]
    [-CompressionMethod <CompressionMethod> {Copy | Deflate | Deflate64 | BZip2 | Lzma | Lzma2 | Ppmd | Default}]
    [-Password <string>] | [-SecurePassword <securestring>]
    [-EncryptionMethod <ZipEncryptionMethod> {ZipCrypto | Aes128 | Aes192 | Aes256}]
    [-CustomInitialization <ScriptBlock>]
    [-TempFolder <string>]
    [-IncludeHidden]
    [-IncludeSystem
    [-EncryptFilenames]
    [-VolumeSize <int>]
    [-FlattenDirectoryStructure]
    [-SkipEmptyDirectories]
    [-PreserveDirectoryRoot]
    [-DisableRecursion]
    [-Append]
    [<CommonParameters>]

Get-7Zip
    [-ArchiveFileName] <string[]>
    [-Password <string>] | [-SecurePassword <securestring>]
    [<CommonParameters>]

Get-7ZipInformation
    [-ArchiveFileName] <string[]>
    [-Password <string>] | [-SecurePassword <securestring>]
    [<CommonParameters>]

It works with x86, x64, and ARM64 and uses SevenZipSharp as a wrapper around 7zip’s API.

Jason Fossen wrote the article PowerShell 7-Zip Module Versus Compress-Archive with Encryption (original article no longer available, archived version linked) where he describes some usage scenarios with 7Zip4PowerShell.

Where to get it

7Zip4Powershell is published at PowerShell Gallery.

https://www.powershellgallery.com/packages/7Zip4Powershell Build Status

Customization

Compress-7Zip accepts a script block for customization. The script block gets passed the current SevenZipCompressor instance. E.g. you can set the multithread mode this way:

$initScript = {
    param ($compressor)
    $compressor.CustomParameters.Add("mt", "off")
}

Compress-7Zip -Path . -ArchiveFileName demo.7z -CustomInitialization $initScript

A list of all custom parameters can be found here.

Releases

Release notes are generated for tagged releases and published on the GitHub Releases page.

Motivation

I’ve written and maintaining the module just for fun and to serve my own needs. If it’s useful for you too, that’s great. I don’t demand anything in return.

However, if you like this module and feel the urge to give something back, a coffee or a beer is always appreciated. Thank you very much in advance.

PayPal.me

评论

暂无评论