在 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