Я бы использовал фильтр здесь и рассмотрел бы рассылку файлов следующим образом:
filter rebase($from=($pwd.Path), $to) {
$_.FullName.Replace($from, $to)
}
Вы можете назвать это так:
Get-ChildItem C:\dev\deploy | rebase -from C:\dev\deploy -to C:\temp\files\
Get-ChildItem | rebase -from (Get-Location).path -to C:\temp\files\
Get-ChildItem | rebase -to C:\temp\files\
Обратите внимание, что при замене учитывается регистр.
Если вам потребуется замена без учета регистра, регулярные выражения помогут:
( редактирование на основе комментария Кейта. Спасибо, Кейт! )
filter cirebase($from=($pwd.Path), $to) {
$_.Fullname -replace [regex]::Escape($from), $to
}