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

How to remove unnecessary files from a zip package in Chocolatey? Commands?

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 并删除其他所有内容。其他文件是不必要的,我喜欢保持安装干净和小巧。

我知道在这种情况下它只保存了几千字节space,但我计划在未来添加更多可能更大的包。

来自文档:

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

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

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