如何使用 Powershell Compress-Archive 仅压缩文件夹中的 pdf?
How to use Powershell Compress-Archive to compress only pdfs in a folder?
我正在研究 Alteryx 工作流,它创建多个 pdf 并将它们输出到一个目录。我需要在工作流程结束时调用 Powershell 脚本将 pdf 压缩成 zip 文件并将其保存在同一位置。
我发现了这个:
,但它需要将文件复制到另一个位置,然后压缩它们。有没有一种方法可以将所有 pdf 压缩到某个文件夹位置并将 zip 文件输出到同一位置?由于 Alteryx 的限制,如果输出位于不同的位置,我可能无法使用它。
我当前的 Powershell 脚本:
Compress-Archive -LiteralPath 'D:\temp\test zipping flow\' -DestinationPath 'D:\temp\final.zip' -Force
这非常有效,但也尝试使用其他扩展名压缩文件,但我只想要 .pdf
个文件。
非常感谢任何建议。
而不是-LiteralPath
使用-Path
,所以你可以添加一个通配符*
Compress-Archive -Path 'D:\temp\test zipping flow\*.pdf' -DestinationPath 'D:\temp\final.zip' -Force
作为当你需要使用 -LiteralPath
时的替代方案(可能是因为路径包含将使用 -Path
解释的字符,如方括号),你可以改为这样做:
Get-ChildItem -LiteralPath 'D:\temp\test zipping flow' -Filter '*.pdf' -File |
Compress-Archive -DestinationPath 'D:\temp\final.zip' -Force
我正在研究 Alteryx 工作流,它创建多个 pdf 并将它们输出到一个目录。我需要在工作流程结束时调用 Powershell 脚本将 pdf 压缩成 zip 文件并将其保存在同一位置。
我发现了这个:
我当前的 Powershell 脚本:
Compress-Archive -LiteralPath 'D:\temp\test zipping flow\' -DestinationPath 'D:\temp\final.zip' -Force
这非常有效,但也尝试使用其他扩展名压缩文件,但我只想要 .pdf
个文件。
非常感谢任何建议。
而不是-LiteralPath
使用-Path
,所以你可以添加一个通配符*
Compress-Archive -Path 'D:\temp\test zipping flow\*.pdf' -DestinationPath 'D:\temp\final.zip' -Force
作为当你需要使用 -LiteralPath
时的替代方案(可能是因为路径包含将使用 -Path
解释的字符,如方括号),你可以改为这样做:
Get-ChildItem -LiteralPath 'D:\temp\test zipping flow' -Filter '*.pdf' -File |
Compress-Archive -DestinationPath 'D:\temp\final.zip' -Force