PowerShell 技能连载 - 在任意 Powershell 版本中解压 ZIP 文件
如果您没有安装 PowerShell 5.0,并且没有安装 .NET Framework 4.5,以下是一个使用 Windows 原生功能解压 ZIP 文件的办法。
不过,如果您安装了资源管理器自定义的 ZIP 文件扩展,这个方法可能不能用。
$Source = 'C:\somezipfile.zip'
$Destination = 'C:\somefolder'
$ShowDestinationFolder = $true
if ((Test-Path $Destination) -eq $false)
{
$null = mkdir $Destination
}
$shell = New-Object -ComObject Shell.Application
$sourceFolder = $shell.NameSpace($Source)
$destinationFolder = $shell.NameSpace($Destination)
$DestinationFolder.CopyHere($sourceFolder.Items())
if ($ShowDestinationFolder)
{
explorer.exe $Destination
}
这个方法的好处是在需要覆盖文件的时候,会弹出 shell 的对话框。这个方法也可以解压 CAB 文件。