Tìm kiếm trang web

Làm cách nào để tạo tệp Zip được bảo vệ bằng mật khẩu bằng PowerShell?


Gần đây, một trong những khách hàng của tôi yêu cầu tôi tạo một tệp zip được mã hóa. Tôi đã thử PowerShell. Trong hướng dẫn PowerShell này, tôi sẽ chỉ cho bạn cách tạo tệp zip được bảo vệ bằng mật khẩu bằng PowerShell.

Để tạo tệp zip được bảo vệ bằng mật khẩu trong PowerShell, bạn có thể sử dụng lệnh ghép ngắn Nén-Lưu trữ kết hợp với công cụ của bên thứ ba như 7-Zip. Đây là một tập lệnh mẫu:

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

Tập lệnh này giả sử bạn đã cài đặt 7-Zip và chỉ định đường dẫn đến tệp thực thi của nó. Nó nén các tệp mục tiêu vào một kho lưu trữ zip và bảo mật nó bằng mật khẩu được chỉ định.

Phương pháp 1: Sử dụng Mô-đun 7Zip4Powershell

Một trong những cách dễ nhất để tạo tệp zip được bảo vệ bằng mật khẩu trong PowerShell là sử dụng mô-đun 7Zip4Powershell. Mô-đun này mở rộng chức năng của PowerShell bằng cách cung cấp các lệnh ghép ngắn dễ sử dụng để tạo các kho lưu trữ được mã hóa. Trước tiên, bạn cần cài đặt mô-đun từ thư viện PowerShell.

Install-Module -Name 7Zip4Powershell

Sau khi cài đặt, bạn có thể nén file bằng mật khẩu như sau:

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

Lệnh này sẽ tạo một tệp zip có tên ‘secured.zip’ với mật khẩu được chỉ định, bao gồm tất cả các tệp trong đường dẫn đã cho.

Cách 2: Sử dụng 7z.exe

Mặc dù PowerShell không hỗ trợ bảo vệ bằng mật khẩu cho các tệp zip nhưng bạn vẫn có thể tạo tập lệnh sử dụng các công cụ hoặc ứng dụng khác như 7-Zip. Tập lệnh bên dưới trình bày cách sử dụng 7-Zip với PowerShell để tạo tệp zip được bảo vệ bằng mật khẩu.

Trước tiên, hãy đảm bảo bạn đã cài đặt 7-Zip trên hệ thống của mình. Sau đó, bạn có thể sử dụng tập lệnh sau:

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

Tập lệnh này đặt đường dẫn đến tệp thực thi 7-Zip, các tệp sẽ được nén, đường dẫn đầu ra cho tệp zip và mật khẩu. Sau đó nó gọi 7-Zip để tạo kho lưu trữ.

Ảnh chụp màn hình bên dưới hiển thị sau khi tôi thực thi tập lệnh bằng mã VS trong hệ thống cục bộ của mình. Nó tạo ra một tập tin zip.

Phương pháp 3: Sử dụng chức năng PowerShell tùy chỉnh

Bạn cũng có thể viết một hàm tùy chỉnh để tạo tệp zip được bảo vệ bằng mật khẩu. Dưới đây là ví dụ về tập lệnh PowerShell hoàn chỉnh.

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\7-Zip\7z.exe" `
                            -filesToZip "C:\MyFolder\*" `
                            -zipFilePath "C:\MyFolder\Output\secured.zip" `
                            -zipPassword "YourSecurePassword"

Bạn có thể sử dụng lại chức năng trên để tạo tệp zip được bảo vệ bằng mật khẩu bằng PowerShell.

Phần kết luận

Tại đây, chúng ta đã tìm hiểu cách tạo tệp zip được bảo vệ bằng mật khẩu trong PowerShell bằng mô-đun 7Zip4Powershell, lệnh ghép ngắn gốc với ứng dụng của bên thứ ba như 7z.exe hoặc viết hàm tùy chỉnh.

Hãy cho tôi biết nếu bạn vẫn còn thắc mắc.

Bài viết liên quan