Get-ChildItem 通过管道传输到 Copy-Item 并重命名为同一目录

Get-ChildItem piped to Copy-Item with rename to same directory

我正在尝试将特定文件夹中特定扩展名的 copy/rename 文件批量添加到具有前缀的同一文件夹中。我确定这是我自己的 Powershell 经验不足的问题。我根本不知道如何设置命令。

我正在尝试将文件夹中所有扩展名为 .mxd 的文件从 something.mxd 重命名为_前缀_something.mxd_

我很确定第一部分没问题:Get-ChildItem *.mxd 但我不知道如何与 Copy-Item 一起工作。我的理解是 -Destination 是放置新文件名的地方,那么我该如何输入 ("current-folder\prefix" + $_.Name + ".mxd") ??

我确信我只是遗漏了几个要点才能让它发挥作用。我得到的只是一个 "prefix_.mxd" 文件。它与 Get-ChildItem 列表中的最后一个文件大小相同。但是,如果我将 foreach 循环带回来,它会询问路径值。我错过了什么?

像这样?重命名项目的文档有一个类似的例子。

dir *.mxd | copy-item -destination { 'prefix_' + $_.name } -whatif

愚蠢。我必须强制使用大括号 {} 而不是使用括号 () 的脚本块,并且我可以通过从前缀开始跳过当前文件夹的路径。