复制所有 "xxx.dll" 个文件,但不复制 "xxxd.dll" 个文件

Copy all "xxx.dll" files but not "xxxd.dll" ones

为了部署应用程序,我必须将 Qt 库复制到一个文件夹中。 Qt安装的bin文件夹下有两个版本的库:

有没有办法复制所有发布库,丢弃文件名末尾有 d 的调试库?我想避免使用文件名创建一个显式数组,因为它们很多,而且我想将其推广到具有相同命名约定的其他库。

您可以简单地获取 bin 目录中的所有文件,然后过滤掉基本名称以 d:

结尾的文件
$ReleaseFiles = Get-ChildItem C:\path\to\qt\project\bin\ -Filter Qt5*.dll |Where-Object BaseName -notlike *d

如果您想要一组(发布)名称,请抓住每个项目的 Name 属性:

$ReleaseFiles |Select-Object -ExpandProperty Name