
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)これには専用のコマンドレットがあります。