在Server 2012 Core中使用Powershell解压缩文件

前端之家收集整理的这篇文章主要介绍了在Server 2012 Core中使用Powershell解压缩文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要用power shell解压缩文件.我看到每个人都这样做的典型方法是使用脚本自动化shell.
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
$destinationFolder = $shellApplication.NameSpace($destination)
$destinationFolder.CopyHere($zipPackage.Items())

这对我来说不起作用,因为Server Core没有shell,所以没有一个可以自动化.这会产生E_FAIL COM错误.

Powershell似乎无法独立完成,如果我参加第三方,我必须找到一种方法来首先将实用程序放到服务器上. 7-Zip是我的首选,但似乎我不能下载和安装它的脚本. Sourceforge不断向我吐出HTML文件.

如何在Server 2012 Core中完全解压缩zip文件

Server 2012附带Dot.NET 4.5,它有 System.IO.Compression.ZipFile,它有一个ExtractToDirectory方法.您应该能够在PowerShell中使用它.

这是一个例子.

首先,您需要加载ZipFile所在的程序集:

[System.Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem") | Out-Null

然后提取内容

[System.IO.Compression.ZipFile]::ExtractToDirectory($pathToZip,$targetDir)

编辑:如果您已更新到PowerShell 5(Windows Management Framework 5.0),则最终具有本机cmdlet:

Expand-Archive $pathToZip $targetDir

猜你在找的Windows相关文章