我想将一个文件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,但看起来却有所不同。
答案 0 :(得分:1)
我不知道有一个命令可以实现您要执行的操作。 如您所发布的链接中指出的那样,您可以用一行代码来实现目标,但这涉及管道。
"D:\LoginPage", "D:\HomePage", "D:\AboutUs" | ForEach-Object { Get-Childitem "D:\OrgIcon" -Recurse -Include "*logo.png" | Copy-Item -Destination $_}
在第一部分中,您仅将目的地列为字符串并用逗号分隔。
第二部分将在每个目的地的花括号{}中执行代码。
注意:$ _代表管道中当前的数据,因此在每次迭代中,$ _将替换为目标。
我想这是否是您需要定期在不同的目的地,源和文件名上执行的操作,您始终可以编写一个脚本文件来接受参数输入,但这是另一个问题。
希望这很有用。