对于Powershell没有内置的解压的命令有点失望。但是网上有很多第三方的解压缩工具,其中有的也是免费的,例如好压什么的。如果你想在脚本中自动解压文件,可以参考下面的例子。
下面的例子需要Windows 内置的Zip组件支持,不过貌似从Windows vista以后都是默认支持的。
Function Unzip-File()
{
param([string]$ZipFile,[string]$TargetFolder)
#确保目标文件夹必须存在
if(!(Test-Path $TargetFolder))
{
mkdir $TargetFolder
}
$shellApp = New-Object -ComObject Shell.Application
$files = $shellApp.NameSpace($ZipFile).Items()
$shellApp.NameSpace($TargetFolder).CopyHere($files)
}
#将zip文件E:\a.zip解压到e:\test,目录
Unzip-File -ZipFile E:\a.zip -TargetFolder e:\test