Powershell でファイルを圧縮/解凍する方法は?

Powershell でファイルを圧縮/解凍する方法は?

PowerShell でファイル (*.zip) を zip 圧縮/解凍するワンライナーはありますか?

答え1

ドットネットジップPowerShell からこれを実行できます。これはワンライナーではありませんが、ライブラリを使用すると必要な PowerShell スクリプトを作成できます。

COMインターフェースを使用することもできます。Windows PowerShell でファイルを圧縮し、Windows Vista サイドバー ガジェットをパッケージ化する

「zip powershell」または「unzip powershell」を Google で検索すると、役立つ結果が表示される場合もあります。

答え2

これは、外部ツールを使用せずに、Powershell からのみ実行する方法を示しています。これにより、test.zip というファイルが現在の作業ディレクトリに解凍されます。

$shell_app=new-object -com shell.application
$filename = "test.zip"
$zip_file = $shell_app.namespace((Get-Location).Path + "\$filename")
$destination = $shell_app.namespace((Get-Location).Path)
$destination.Copyhere($zip_file.items())

答え3

.NET Framework 4.5では、ZIPファイル次のように使用できるクラス:

[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory($sourceFile, $targetFolder)

答え4

ぜひチェックしてみてくださいPowerShell コミュニティ拡張機能 (PSCX)これには専用のコマンドレットがあります。

関連情報