将同一文件复制到多个不同的文件夹PowerShell

时间:2019-03-15 13:47:01

标签: powershell scripting powershell-v3.0 copy-item

我想将一个文件logo.png复制到不同的多个文件夹中。到目前为止,我正在这样做

Get-Childitem "D:\OrgIcon" -Recurse -Include "*logo.png" | 
Copy-Item -Destination "D:\LoginPage"

Get-Childitem "D:\OrgIcon" -Recurse -Include "*logo.png" | 
Copy-Item -Destination "D:\HomePage"

Get-Childitem "D:\OrgIcon" -Recurse -Include "*logo.png" | 
Copy-Item -Destination "D:\AboutUs"

有什么方法可以使它成为单个命令?

我见过this,但看起来却有所不同。

1 个答案:

答案 0 :(得分:1)

我不知道有一个命令可以实现您要执行的操作。 如您所发布的链接中指出的那样,您可以用一行代码来实现目标,但这涉及管道。

"D:\LoginPage", "D:\HomePage", "D:\AboutUs" | ForEach-Object { Get-Childitem "D:\OrgIcon" -Recurse -Include "*logo.png" | Copy-Item -Destination $_}

在第一部分中,您仅将目的地列为字符串并用逗号分隔。

第二部分将在每个目的地的花括号{}中执行代码。

注意:$ _代表管道中当前的数据,因此在每次迭代中,$ _将替换为目标。

我想这是否是您需要定期在不同的目的地,源和文件名上执行的操作,您始终可以编写一个脚本文件来接受参数输入,但这是另一个问题。

希望这很有用。