Скопируйте один и тот же файл в несколько разных папок PowerShell - PullRequest
0 голосов
/ 15 марта 2019

Я хочу скопировать один файл 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"

Есть ли способ сделать это одной командой?

Я видел это , но выглядит иначе.

1 Ответ

1 голос
/ 15 марта 2019

Я не знаю ни одной команды для достижения того, что вы пытаетесь сделать.Как указано в ссылке, которую вы разместили, вы можете достичь своей цели с помощью одной строки кода, но это включает в себя конвейер.

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

В первой части вы просто перечисляете свои пункты назначения в виде строк и разделяя их запятой.

Вторая часть выполнит код в фигурных скобках {} для каждого пункта назначения.

Примечание: $ _ обозначает данные, находящиеся в данный момент в конвейере, поэтому на каждой итерации $ _ будет заменятьсяс вашим пунктом назначения.

Полагаю, если вам нужно регулярно делать это с различными пунктами назначения, источниками и именами файлов, вы всегда можете написать файл сценария, который принимает входные данные для своих параметров, но это тема для другого вопроса.

Надеюсь, это полезно.

...