如何从Chocolatey的zip包中删除不必要的文件?命令?

时间:2019-06-04 09:14:08

标签: installation nuget-package chocolatey

Chocolatey是否提供一些命令来解压缩/安装文件后过滤或删除文件?我找不到与此方向相关的任何API。

今天,我创建了我的第一个可正常使用的巧克力包装“ pedeps”。 Chocolateyinstall.ps1:

$ErrorActionPreference = 'Stop';
$toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$url32      = 'https://github.com/brechtsanders/pedeps/releases/download/0.1.5/pedeps-0.1.5-win32.zip'
$url64      = 'https://github.com/brechtsanders/pedeps/releases/download/0.1.5/pedeps-0.1.5-win64.zip'
$checksum32  = 'f61b708a27e834dc70009854a56430a7e49062f67e91d5f8bb3fe880b243e2ad'
$checksum64  = '71ac500464ef6a06763ee5cda74c2b39504d4933267a34b8318be723a2e0f6fd'



$packageArgs = @{
  packageName   = 'pedeps'
  unzipLocation = $toolsDir
  url           = $url32
  url64bit      = $url64

  softwareName  = 'pedeps'
  checksum      = $checksum32
  checksumType  = 'sha256'
  checksum64    = $checksum64
  checksumType64= 'sha256'
}

Install-ChocolateyZipPackage @packageArgs

zip文件包含 / bin,/ include和/ lib文件夹仅bin文件夹相关。我只想保留/ bin并删除其他所有内容。其他文件是不必要的,我希望保持安装整洁。

在这种情况下,我知道节省的空间只有几千字节,但是我计划将来再添加一些可能更大的软件包。

1 个答案:

答案 0 :(得分:1)

从文档中:

https://chocolatey.org/docs/helpers-install-chocolatey-zip-package#specificfolder-string

您可以在Install-ChocolateyZipPackage cmdlet上设置一个SpecificFolder属性。

这只会从您感兴趣的zip文件中提取特定的文件夹。