我有一个.zip文件,需要使用 Powershell 解压缩其全部内容。我正在这样做,但它似乎不起作用:
.zip
$shell = New-Object -ComObject shell.application $zip = $shell.NameSpace("C:\a.zip") MkDir("C:\a") foreach ($item in $zip.items()) { $shell.Namespace("C:\a").CopyHere($item) }
怎么了?目录C:\a仍然是空的。
C:\a
这是使用System.IO.Compression.ZipFile中的ExtractToDirectory的简单方法:
Add-Type -AssemblyName System.IO.Compression.FileSystem function Unzip { param([string]$zipfile, [string]$outpath) [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath) } Unzip "C:\a.zip" "C:\a"
请注意,如果目标文件夹不存在,ExtractToDirectory 将创建它。其他注意事项: