当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 创建受密码保护的 Zip 文件?

作者:精品下载站 日期:2024-12-14 05:11:16 浏览:15 分类:玩电脑

如何使用 PowerShell 创建受密码保护的 Zip 文件?


最近,我的一位客户要求我创建一个加密的 zip 文件。我尝试过 PowerShell。在本 PowerShell 教程中,我将向您展示如何使用 PowerShell 创建受密码保护的 zip 文件。

要在 PowerShell 中创建受密码保护的 zip 文件,您可以将 Compress-Archive cmdlet 与 7-Zip 等第三方工具结合使用。这是一个示例脚本:

$zipExePath = "C:\Program Files-Zipz.exe"
$zipFilePath = "C:\MyFolder\PasswordProtectedFile.zip"
$zipPassword = "Dummypassword"
& $zipExePath a -tzip $zipFilePath "C:\MyFolder\*" -p $zipPassword

此脚本假定您已安装 7-Zip 并指定其可执行文件的路径。它将目标文件压缩为 zip 存档并使用指定的密码保护它。

方法一:使用7Zip4Powershell模块

在 PowerShell 中创建受密码保护的 zip 文件的最简单方法之一是使用 7Zip4Powershell 模块。该模块通过提供易于使用的 cmdlet 来创建加密存档,从而扩展了 PowerShell 的功能。首先,您需要从 PowerShell 库安装该模块。

Install-Module -Name 7Zip4Powershell

安装后,您可以使用密码压缩文件,如下所示:

Compress-7Zip -ArchiveFileName 'secured.zip' -Password 'YourSecurePassword' -Path 'C:\MyFolder\*'

此命令将使用指定的密码创建一个名为“secured.zip”的 zip 文件,包括给定路径中的所有文件。

方法2:使用7z.exe

虽然 PowerShell 本身不支持 zip 文件的密码保护,但您仍然可以创建利用其他工具或应用程序(如 7-Zip)的脚本。下面的脚本演示了如何将 7-Zip 与 PowerShell 结合使用来创建受密码保护的 zip 文件。

首先,确保您的系统上安装了 7-Zip。然后,您可以使用以下脚本:

$zipExePath = "C:\Program Files-Zipz.exe"
$zipFilePath = "C:\MyFolder\PasswordProtectedFile.zip"
$zipPassword = "Dummypassword"
& $zipExePath a -tzip $zipFilePath "C:\MyFolder\*" -p $zipPassword

此脚本设置 7-Zip 可执行文件的路径、要压缩的文件、zip 文件的输出路径和密码。然后它调用 7-Zip 创建存档。

下面的屏幕截图显示了我在本地系统中使用 VS code 执行脚本后的情况。它创建了一个 zip 文件。

[玩转系统] 如何使用 PowerShell 创建受密码保护的 Zip 文件?

方法 3:使用自定义 PowerShell 函数

您还可以编写自定义函数来创建受密码保护的 zip 文件。下面是完整的 PowerShell 脚本的示例。

function Create-PasswordProtectedZip {
    param(
        [string]$zipExePath,
        [string]$filesToZip,
        [string]$zipFilePath,
        [string]$zipPassword
    )

    if (Test-Path $zipExePath) {
        & $zipExePath a -tzip $zipFilePath $filesToZip -p$zipPassword
    } else {
        Write-Error "7-Zip executable not found at path: $zipExePath"
    }
}

# Usage:
Create-PasswordProtectedZip -zipExePath "C:\Program Files-Zipz.exe" `
                            -filesToZip "C:\MyFolder\*" `
                            -zipFilePath "C:\MyFolder\Output\secured.zip" `
                            -zipPassword "YourSecurePassword"

您可以重复使用上述函数,使用 PowerShell 创建受密码保护的 zip 文件。

结论

在这里,我们学习如何使用 7Zip4Powershell 模块、带有第三方应用程序(如 7z.exe)的本机 cmdlet 在 PowerShell 中创建受密码保护的 zip 文件,或编写自定义函数。

如果您还有任何疑问,请告诉我。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯