在 PowerShell 中使用 7-Zip 压缩

Marion Paul Kenneth Mendoza 2022年6月15日
在 PowerShell 中使用 7-Zip 压缩

许多具有高压缩比的文件归档软件在市场上随处可见。其中之一是名为 7-Zip 的程序。

然而,在其他压缩软件中,7-Zip 的众多优势之一是它们可以通过编程方式或使用 PowerShell 等命令行解释器进行压缩。

本文将讨论如何在 PowerShell 中使用 7-Zip 软件进行压缩。

在 PowerShell 中使用 7-Zip 压缩

在尝试使用 PowerShell 使用 7-Zip 进行压缩之前,我们必须确保在我们的计算机上安装了 7-Zip。找到安装目录和可执行文件,并在 PowerShell 变量中分配整个安装路径,如下面的代码。

$7zipPath = "$env:ProgramFiles\7-Zip\7z.exe"

让我们通过给它一个别名来使可执行文件看起来像是与我们的本机 PowerShell 脚本环境融合在一起。如果你长期从事 PowerShell 开发,你可能知道动词-名词对格式是命名 PowerShell 命令时的最佳实践。

我们将使用类似以下代码的 Set-Alias 命令来创建新别名。

如你所见,我们使用 Compress-7Zip 命令作为可执行文件的名称,这与上述最佳实践直接一致。但是,当然,你可以将其命名为任何你想要的名称。

示例代码:

Set-Alias Compress-7Zip $7ZipPath

现在让我们声明需要压缩的文件或文件夹,以及完成后将压缩存档发送到哪里。为此,请在每个 PowerShell 变量上分配要压缩的文件及其目标位置。

示例代码:

$Source = "C:\Events\System.txt"
$Destination = "c:\PS\Events.zip"

最后,我们现在可以开始使用 7-Zip 进行压缩。对于所有 7-Zip 命令行参数,我们可以参考 7-Zip 官方文档链接

但是,要压缩文件,我们可以使用以下参数。

示例代码:

Compress-7zip a -mx=9 $Destination $Target

根据官方文档,参数 -mx=9 将压缩级别设置为 9,这将是软件的最高压缩率。

既然你现在可以在 PowerShell 中使用 7-Zip,那么还值得分享的是,如果你没有安装 7-Zip,你将无需担心。Windows PowerShell 有它的本机命令,可以使用 Compress-Archive 命令压缩文件,你可以通过单击此链接来学习它们。

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn