Powershell:Pipe Get ChildItem结果以压缩存档以生成多个ZIP?

Powershell:Pipe Get ChildItem结果以压缩存档以生成多个ZIP?,powershell,Powershell,假设我有以下文件夹 c:\test\folder1 c:\test\folder2 c:\test\folder3 我想创建以下档案 c:\test\folder1.zip c:\test\folder2.zip c:\test\folder3.zip 我是否可以通过管道获取ChildItem-name folder*-目录来压缩归档文件 我尝试获取ChildItem-name Fusion*-目录| Compress Archive-Verbose,但它试图输出到单个zip文件。您可以使用

假设我有以下文件夹

c:\test\folder1
c:\test\folder2
c:\test\folder3
我想创建以下档案

c:\test\folder1.zip
c:\test\folder2.zip
c:\test\folder3.zip
我是否可以通过管道获取ChildItem-name folder*-目录来压缩归档文件

我尝试获取ChildItem-name Fusion*-目录| Compress Archive-Verbose,但它试图输出到单个zip文件。

您可以使用ForEach对象:


你能解释一下这两美元吗?这只是将文件夹名传递给Compress Archive命令两次,如果未指定,该命令会添加.zip吗?$是For Each中的对象,第一个用于压缩归档路径,如果未放置,第二个用于目标。zip是自动添加的。对,因此它调用Compress Archive folder1 folder1。明白了。@ScottBeeson正是:
Get-ChildItem -name Fusion* -Directory | ForEach-Object -Process { Compress-Archive $_ $_ -Verbose }