在PowerShell中使用unzip

时间:2014-04-07 11:21:38

标签: arrays powershell unzip

每晚我们都需要压缩文件夹中包含的某些文件。然后我需要确保所有应该压缩的文件都在zip文件中。 我创建了一段在我的电脑上完美运行的代码但是当我将代码移动到实时服务器时,我收到以下错误: -

术语'解压缩'不被识别为cmdlet的名称'

我已经安装了dot.net 4.5&还有PowerShell社区扩展3.1

这是我的代码,它创建了一个文件名数组: -

$UnZip_Test = unzip -t $ZipFile
$zip_contents = $UnZip_Test | ? { $_ -match "^\s*testing:\s*(.*?)\s+OK\s*$"} | % { $matches[1] }

3 个答案:

答案 0 :(得分:2)

解压缩不是cmd-let社区扩展使用的。如果您已正确安装PCE 3.1,则应该能够使用Expand-Archive cmdlet。

expand-archive -format zip -path $ZipFile

答案 1 :(得分:0)

unzip不是PowerShell内置命令。您需要在生产服务器上的unzip.exe中的一个文件夹中提供$env:PATH,或者定义执行The Right Thing™的函数/ cmdlet或别名。

答案 2 :(得分:0)

我在我的powershell脚本中使用它,授予它不是powershell但需要安装java。

jar xf ./path/to/archive.zip

在我的情况下,知道java在服务器上比在整个地方下载一些社区扩展要容易得多